qué que jfc ejemplos consiste componentes clase java spring spring-boot

que - swing java definition



Cómo usar la bota de resorte para hacer una biblioteca común (4)

De acuerdo con la documentation :

Spring Boot facilita la creación de aplicaciones basadas en resortes autónomas, de grado de producción , que usted puede "simplemente ejecutar".

Pero Spring Boot no es la bala de plata que combina con todas las situaciones. Si desea crear una biblioteca, puede crear un proyecto regular de primavera que construya un contenedor y lo almacene en el repositorio de su empresa, si tiene uno.

Ahora quiero desarrollar un servicio de correo común para nuestros sistemas. A medida que diseñamos, queremos desarrollar un productor y consumidor de RabbitMQ . Del lado del consumidor, podríamos desarrollar e implementar una aplicación Spring Boot o Spring Cloud , pero por el lado del productor queremos dar un cliente de correo común como la interfaz a continuación y hacer una dependencia de jar para otro sistema.

interface MailClient { ListentableFuture send(Message message); }

Pero veo el arranque de primavera y la nube de primavera usando muchos métodos declarativos y parece que debo usar una clase de aplicación, pero solo quiero una referencia de clase y no necesito implementarla. no sé cómo implementarlo.


La documentación de Spring trata esta preocupación exactamente y muestra la forma correcta de implementar una biblioteca común con / para Spring boot:

spring.io/guides/gs/multi-module

Como lo indica la documentación: aunque el complemento Spring Boot Maven no se está utilizando, es recomendable aprovechar la administración de la dependencia de Spring Boot .


Tenía una necesidad similar a la tuya, hasta ahora logré construir una biblioteca utilizable en otros proyectos con la siguiente configuración:

`

<modelVersion>4.0.0</modelVersion> <groupId>mx.grailscoder</groupId> <artifactId>library</artifactId> <version>1.0-SNAPSHOT</version> <name>My Custom Library built on Spring Boot</name> <description>Spring Boot Project library</description> <packaging>jar</packaging> <parent> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-parent</artifactId> <version>1.5.4.RELEASE</version> </parent> <dependencies> <dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-test</artifactId> <scope>test</scope> </dependency> <dependency> <groupId>org.springframework</groupId> <artifactId>spring-test</artifactId> <version>${spring.version}</version> <scope>test</scope> </dependency> </dependencies> <properties> <java.version>1.8</java.version> <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding> <project.reporting.outputEncoding>UTF-8</project.reporting.outputEncoding> <logentries-appender>RELEASE</logentries-appender> </properties> <build> <plugins> <plugin> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-maven-plugin</artifactId> <executions> <execution> <goals> <goal>repackage</goal> </goals> <configuration> <skip>true</skip> </configuration> </execution> </executions> </plugin> </plugins> </build>

`

Es importante mencionar que omití la tarea de repackage ya que mi biblioteca no tenía ninguna clase principal, y luego emitir la tarea de mvn install no falla.


Spring Lemon sería un buen ejemplo para esto. Utiliza Spring Boot, y está destinado a ser incluido en otras aplicaciones Spring Boot. Esto es lo que hicimos para crearlo:

  1. Creó una aplicación Spring Boot, usando el Spring Start Starter Wizard de STS .
  2. Se eliminó la aplicación generada y la clase de prueba.
  3. Eliminado spring-boot-maven-plugin , es decir, las secciones build y pluginRepositories en pom.xml. (Vea cómo se ve el pom.xml sin estas secciones).