springboot hacer un arrancador personalizada

de arranque personalizada

SpringBoot El motor de arranque es un mecanismo muy importante para abandonar la configuración compleja anterior, que es un sistema unificado e integrado en el motor de arranque, la aplicación sólo tiene que introducir arranque dependerá del experto, SpringBoot escaneará automáticamente la información de carga e iniciar el correspondiente la configuración por defecto. Vamos a deshacernos de la manija del arrancador una variedad de bibliotecas dependientes, es necesario configurar plagada por una variedad de información. SpringBoot descubre automáticamente clase de bean requerido por la ruta de ruta de clases, y registrado en el recipiente de COI. SpringBoot proporcionar un módulo de resorte de arranque-motor de arranque para las aplicaciones diarias de la empresa dependen del desarrollo de diversos escenarios. Todos estos módulos son dependientes de acuerdo en seguir la configuración por defecto personalizada, y nos permite ajustar estas configuraciones, es decir, a seguir "convención de que el configurado" concepto.

¿Por Personalizar arranque

En el trabajo de desarrollo de todos los días, a menudo habrá algún módulo de configuración de servicios independiente, a menudo nos ponemos en un solo paquete en particular, y luego si otro necesidades del proyecto multiplexan esta función cuando el código necesita ser copiado al disco otro proyecto, reintegrado de nuevo, más problemas. Si vamos a ser independiente del paquete del módulo de código de servicio dispuesto para el trabajo de uno de arranque, multiplexados en el tiempo en relación de dependencia y la necesidad de hacer referencia a la pom, SpringBoot nosotros para completar el montaje automático.

Costumbre de arranque de nombres

arrancador SpringBoot suministrada por resorte de arranque-motor de arranque-xxx forma llamada. El abridor de los oficiales recomendaciones personalizadas utilizando xxx-primavera-arranque-motor de arranque reglas de nombres. Para distinguir arranque SpringBoot eco proporcionada.

 

procedimiento

1. Crear un nuevo proyecto de primavera

Esto debería Huelga decir que el uso de la idea de construir en la primavera Initializr

El proyecto está estructurado de la siguiente

 

Configuración 2.pom

<? xml version = "1.0" encoding = "UTF-8"?> 
<xmlns proyecto = xmlns "http://maven.apache.org/POM/4.0.0": xsi = "http: //www.w3 .org / 2001 / XMLSchema instancia" 
         xsi: schemaLocation = "http://maven.apache.org/POM/4.0.0 https://maven.apache.org/xsd/maven-4.0.0.xsd"> 
    <modelVersion> 4.0.0 </ modelVersion> 
    <parent> 
        <groupId> org.springframework.boot </ groupId> 
        <artifactId> resorte de arranque-motor de arranque y los padres </ artifactId> 
        <versión> 2.2.6.RELEASE </ versión > 
        <relativePath /> <! - matriz de búsqueda desde el repositorio -> 
    </ parent> 
    <groupId> demostración de la primavera-arranque-motor de arranque </ groupId>
    <artifactId> demostración </ artifactId> 
    <versión> 0.0.1-SNAPSHOT </ version>
    <nombre> demostración </ name> 
    <description> Proyecto de demostración para la primavera de arranque </ description> 

    <propiedades> 
        <java.version> 1.8 </java.version> 
    </ propiedades> 

    <dependencias> 
        <dependency> 
            <groupId> org. springframework.boot </ groupId> 
            <artifactId> resorte de arranque-motor de arranque </ artifactId> 
        </ dependency> 
        <dependency> 
            <groupId> org.springframework.boot </ groupId> 
            <artifactId> primavera-boot-AUTOCONFIGURE </ artifactId> 
        </ dependency> 
        <dependency>
            <groupId> org.springframework.boot </ groupId> 
            < artifactId>primavera-boot-configuración de procesador </ artifactId> 
            <opcional> verdadero</ opcional> 
        </ dependency> 
    </ dependencias> 

    <build> 
        <plugins> 
            <plug-in> 
                <groupId> org.springframework.boot </ groupId> 
                <artifactId> maven-primavera-boot-plugin </ artifactId> 
            </ plugin > 
        </ plugins> 
    </ build> 

</ project>

 

3. Definir una información de configuración de clase de entidad de mapeo

Paquete demospringbootstart.demo.properties; 

Importar org.springframework.boot.context.properties.ConfigurationProperties; 

/ ** 
 * @author: VIC 
 * @date: 09/04/2020 15:04 Creado en el 
 * @description: configuración de clases entidad de información 
 * / 
// esta anotación puede ser la misma información de configuración del prefijo asignado a las clases de entidad a través del nombre de elemento de configuración, aquí especificamos el prefijo "demo",
 // que pueda voluntad "demo" como prefijo para obtener información sobre la configuración de artículos 
@ConfigurationProperties ( = prefijo "demo" )
 pública  de clase DemoProperties { 

    privado SayWhat cadena;
     privada cadena toWho; 

    público cadena getSayWhat () {
         retorno SayWhat; 
    } 

    pública  vacíossetSayWhat (String SayWhat) {
         este .sayWhat = SayWhat; 
    } 

    Pública Cadena getToWho () {
         volver toWho; 
    } 

    Pública  vacío setToWho (String toWho) {
         este .toWho = toWho; 
    } 
}

 

4. Definir clase de configuración

empaquetar demospringbootstart.demo.config; 

importación demospringbootstart.demo.properties.DemoProperties;
importación demospringbootstart.demo.service.DemoService;
importación org.springframework.beans.factory.annotation.Autowired;
importación org.springframework.boot.autoconfigure.condition.ConditionalOnProperty;
importación org.springframework.boot.context.properties.EnableConfigurationProperties;
importación org.springframework.context.annotation.Bean;
importación org.springframework.context.annotation.Configuration; 

/ ** 
 * @author: VIC 
 * @Date: Creado en 04/09/2020 15:35 
 * @description:配置类
 * / 
//@Configuration declara como una clase de configuración, por no hablar de 
@Configuration
 // La anotación para activar el soporte por encima de @ConfigurationProperties paso grano de configuración de anotación,
 // es para decir @ConfigurationProperties apoyo springboot,
 // o también puede hacer comentarios sobre @ConfigurationProperties Añadir @Configuration y @Component sobre la identidad de clase, el mismo efecto 
@EnableConfigurationProperties (DemoProperties. clase )
 // @ConditionalOnProperty @Configuration utiliza para controlar si la entrada en vigor, en definitiva, es lo que podemos controlar @Configuration por yml o propiedades perfil clase de configuración Notes está en vigor. 
@ConditionalOnProperty (prefix = "Demo", name = "isOpen", havingValue = "true" )
 pública  clase DemoConfig { 

    @Autowired 
    privadas DemoProperties Propiedades; 

    @Bean 
    públicaDemoService demoService () {
         volver  nueva DemoService (properties.getSayWhat (), properties.getToWho ()); 
    } 
}

 

5. Proporcionar una clase de servicio

Pena de paquete para demospringbootstart.demo.service; 

/ ** 
 * @author: VIC 
 * @date: Creación: 04/09/2020 15:28 
 * @description: casual implementar un servicio, no hay realmente nada aquí, este servicio se proporciona al motor de arranque integrado llamadas partido del negocio 
 * / 
público  de clase del DemoService { 

    público cadena SayWhat;
     pública toWho cuerda; 

    pública la DemoService (SayWhat String, String toWho) {
         el presente .sayWhat = SayWhat;
         el presente .toWho = toWho; 
    } 

    pública cadena del sayHello () {
         retorno  del este . + SayWhat "!!!" + la presente .toWho; 
    } 
}

 

6. Nuevo archivo spring.factories (importante)

Los spring.factories en la carpeta META-INF continuación, el documento dice lo siguiente spring.factories

# Automatizada de montaje, de por qué este archivo de configuración, springboot irá a la clase Democonfig montaje configurado aquí, los lectores pueden ir a mirar el mecanismo de aplicación springboot SPI (tienen tiempo para participar en un blog) 
org.springframework.boot.autoconfigure.EnableAutoConfiguration = demospringbootstart.demo.config.DemoConfig

 

7. Prueba de uso

Una vez completados los pasos anteriores, entonces simplemente mvn instalación limpia, personalizar una producción de arranque se ha completado

====================== ====================== línea divisoria

Uso de arranque personalizada

1. La introducción de arranque dependiente

<dependency> 
    <groupId> demostración de la primavera-arranque-motor de arranque </ groupId> 
    <artifactId> demostración </ artifactId> 
    <versión> 0.0.1-SNAPSHOT </ version> 
</ dependency>

2. Llenar el contenido del perfil

demo.isopen = verdadero 
demo.to -que = JACK 
demo.say -lo = HI

3. Escribir código para llamar y ver el párrafo

empaquetar com.zhaowa.course.design.controller; 

importación demospringbootstart.demo.service.DemoService;
importación org.springframework.web.bind.annotation.RequestMapping;
importación org.springframework.web.bind.annotation.RestController;
importación javax.annotation.Resource; 

/ ** 
 * @author: VIC 
 * @Date: Creado en 04/09/2020 15:53 
 * @description: 
 * / 
@RestController 
pública  clase TestController { 

    @Resource 
    privada demoService DemoService; 

    @RequestMapping ( "/" )
     pública Prueba de la cuerda () {
         retornodemoService.sayHello (); 
    } 
}

Supongo que te gusta

Origin www.cnblogs.com/vicF/p/12667934.html
Recomendado
Clasificación