Comment utiliser le printemps de démarrage fabrication d'une bibliothèque commune
Maintenant, je veux développer un service de messagerie pour nos systèmes.
Comme nous concevons, nous voulons développer un RabbitMQ
le producteur et le consommateur. Sur les consommateurs, nous avons pu développer et de déployer une Spring Boot
ou Spring Cloud
application, mais à la production, à côté, nous voulons donner à une commune de client de messagerie, comme l'interface ci-dessous et faire un pot de dépendance aux autres.
interface MailClient {
ListentableFuture send(Message message);
}
Mais je vois printemps de démarrage et le printemps cloud à l'aide de nombreux déclarative méthode et semble devez utiliser une application de classe, mais je veux juste une référence de classe et pas besoin de déployer. je ne sais pas comment la mettre en œuvre.
Vous devez vous connecter pour publier un commentaire.
Selon la la documentation:
Mais le Printemps de Démarrage n'est pas la panacée qui correspond à toutes les situations. Si vous souhaitez créer une bibliothèque, vous pouvez créer un régulier de projet pour le printemps qui construit un bocal et les stocke dans votre entreprise référentiel, si vous en avez un.
Printemps De Citron serait un bon exemple pour cela. Il utilise Spring Boot, et est destinée à être incluse dans d'autres Printemps les applications de Démarrage. C'est ce que nous avons fait pour la créer:
spring-boot-maven-plugin
, c'est à dire la construire et la pluginRepositories sections pom.xml. (Voir comment une pom.xml ressemblerait sans ces sections).@SpringBootApplication(scanBasePackages = {"com.naturalprogrammer.spring"})
à la catégorie principale où vous démarrez l'application. En d'autres termes, comment faire u springify toutes les classes au Printemps de Citron, de sorte que le Printemps s'en occupe, si vous savez ce que je veux dire.@SpringBootApplication(scanBasePackageClasses = {LemonDemoApplication.class, LemonConfig.class})
. (Configuration automatique peut également être essayé, je pense, mais le ci-dessus fonctionne bien)scanBasePackageClasses
. Comment fonctionne l'application trouve le Printemps des composants dans la bibliothèque de fichiers jar?Le Ressort de la documentation répond à cette préoccupation exactement et montre la façon correcte de la mise en œuvre d'une bibliothèque commune avec/pour le Printemps de démarrage:
https://spring.io/guides/gs/multi-module/
Que les états de documentation: Bien que le Printemps de Démarrage plugin Maven n'est pas utilisé, vous ne voulez profiter du Printemps de Démarrage de gestion de la dépendance.
J'avais un besoin similaire à la vôtre, jusqu'à présent, j'ai réussi à construire une bibliothèque utilisable sur d'autres projets avec la configuration suivante:
`
`
Il est important de mentionner j'ai sauté le
repackage
tâche depuis ma bibliothèque n'ai pas de classe principale, puis l'émission de lamvn install
tâche de ne pas échouer.