Durante el uso del arranque de primavera, puede encontrar que solo se requiere una pequeña cantidad de configuración en el proyecto para completar las funciones correspondientes, gracias a la configuración modular en el arranque de primavera. Cada arranque que depende de Pom.xml tiene una configuración predeterminada, y estas configuraciones predeterminadas son suficientes para cumplir con el desarrollo funcional normal.
Si necesita modificar la configuración personalizada y modificar la configuración predeterminada, Spring Boot proporciona una manera muy fácil, simplemente agregue y modifique la configuración correspondiente en Application.Properties. (La configuración predeterminada de Application.Properties se leerá cuando se inicie el arranque de primavera)
1. Modifique la configuración predeterminada
Ejemplo 1. Cuando Spring Boot está desarrollando aplicaciones web, el puerto de inicio predeterminado de Tomcat es 8080. Si necesita modificar el puerto predeterminado, debe agregar los siguientes registros en Application.Properties:
Server.port = 8888
Reinicie el proyecto y puede ver el registro de inicio: Tomcat comenzó en el puerto (s): 8888 (http) El puerto de inicio es 8888. Puede acceder a él normalmente visitando http: // localhost: 8888 en el navegador.
Ejemplo 2. Configuración de información de conexión de base de datos en el desarrollo de arranque de primavera (usando el druid de com.alibaba aquí), agregue los siguientes registros en Application.Properties:
druid.url = jdbc: mysql: //192.168.0.20: 3306/testdruid.driver-class = com.mysql.jdbc.driverrdruid.username = ro otdruid.password = 123456druid.initial-size = 1druid.min-idle = 1druid.max-active = 20druid.test-on-borrow = true
Los dos ejemplos anteriores ilustran que si necesita modificar la configuración predeterminada en el módulo de inicio, solo necesita agregar la configuración que debe modificarse en Application.Properties.
Adjunto: todos los elementos de configuración para la aplicación.
2. Configuración de atributos personalizados
Además de modificar la configuración predeterminada en la aplicación.
1. Agregue la configuración de la propiedad personalizada en la aplicación. Properties
com.sam.name = samcom.sam.age = 11com.sam.desc = mágico sam
2. Escribe una clase de frijoles y propiedades de carga
La clase SAM necesita agregar la anotación @Component, dejar que Spring escane a la clase al inicio y agregue al contenedor de resorte.
El primero: use @Value () soportado por el resorte para cargar
paquete com.sam.demo.conf; import org.springframework.beans.factory.annotation.value; import org.springframework.stereotype.component;/** * @author sam * @since 2017/7/15 */ @componentpublic class sam {// obtiene la propiedad de las aplicaciones.properties. @Value ("$ {com.sam.name}") Nombre de cadena privada; @Value ("$ {com.sam.age}") private int Age; @Value ("$ {com.sam.desc}") String privado descif; // Getter & Setter} El segundo tipo: use @configurationProperties (prefix = "") para establecer el prefijo, y no se requiere anotación en las propiedades.
paquete com.sam.demo.conf; import org.springframework.stereotype.component;/** * @author sam * @since 2017/7/15 */ @component @configurationProperties (prefix = "com.sam") clase pública Sam {nombre de cadena privada; edad privada int; Cadena privada descifrar; // Getter & Setter} 3. Inyecte y use el frijol sam en el controlador.
paquete com.sam.demo.controller; import com.sam.demo.conf.sam; import org.springframework.beans.factory.annotation.autowired; import org.springframework.web.bind.annotation.requestsapping; import @Author Sam * @Since 2017/7/14 */ @RestControllerPublic Class IndexController {@aUtoWired private Sam; @RequestMapping ("/index") public String index () {system.out.println (sam.getName () + "" + sam.getage () + "" + sam.getdesc ()); devolver "índice"; }}Acceso al navegador: http: // localhost: 8080/index, la consola imprime el contenido de SAM normalmente.
3. Explicación detallada de la aplicación. Configuración de propiedades de propiedad
1. Referencia de parámetros y el uso del método de número aleatorio aleatorio
En Application.Properties, puede consultar directamente los valores de otras propiedades a través de $ {}, como sigue:
com.sam.name = samcom.sam.age = 11com.sam.desc = $ {name} es $ {edad} años. Si necesita obtener números aleatorios en Application.Properties, puede usar $ {Random} de la siguiente manera:
#Get a Random String com.sam.randomValue = $ {random.value} #get string aleator: $ {random.value} #get random int: $ {random.int} #get números aleatorios dentro de 10: $ {random.int (10)}#Obtenga números aleatorios de 10-20: $ {Random.int [10,20]}#Obtenga a Random Long: $ {Random.long}}} $ {random.uuid}2. Configuración multi-ambiente
Puede haber entornos diferentes en el desarrollo real, incluido el entorno de desarrollo, el entorno de prueba y el entorno de generación. Las configuraciones relacionadas con cada entorno pueden variar, como: información de la base de datos, configuración de puertos, configuración de ruta local, etc.
Si necesita modificar la aplicación. Properties cada vez que cambia a un entorno diferente, entonces la operación es muy engorrosa. La configuración multi-ambiente se proporciona en el arranque de primavera, lo que nos facilita cambiar de entorno.
Cree tres archivos nuevos en el mismo directorio que Application.Properties:
Application-dev.Properties // File de configuración de entorno de desarrollo Application-Test.Properties // File de configuración de entorno de desarrollo Application.
Los tres archivos anteriores corresponden al contenido de configuración de desarrollo, pruebas y producción, respectivamente. El siguiente paso es cómo hacer referencia selectivamente a estas configuraciones.
Agregar en Application.Properties:
spring.profiles.active = dev#archivo de configuración de prueba de referencia#spring.profiles.active = prueba#archivo de configuración de producción de referencia#spring.profiles.active = prod
Después de agregar Spring.Profiles.active = dev, inicie la aplicación y encontrará que se hace referencia a esta información de configuración de Dev.
Se puede ver que los tres archivos de configuración anteriores se ajustan al formato de aplicación {perfil} .properties, y el dev en spring.profiles.active = dev agregado en application.properties es el perfil en el archivo de configuración anterior. Cambie inmediatamente de acuerdo con el entorno específico.
Al iniciar la aplicación con comandos que ejecutan el paquete JAR, puede especificar la configuración correspondiente.
java -jar demo-0.0.1-snapshot.jar --spring.profiles.active = dev
Adjunto: los métodos de configuración y los niveles de prioridad son los siguientes:
a. Parámetros de línea de comando
b. JNDI ATRIBUTOS DE JAVA: COMP/ENV
do. Propiedades del sistema Java (System.getProperties ())
d. Variables de entorno del sistema operativo
mi. Random.* Valor de propiedad de la configuración de RandomValuePropertySource
F. Aplicación externa JAR- {perfil} .properties o Application.yml (con Spring.Profile) Archivo de configuración
gramo. Aplicación interna JAR- {perfil} .properties o application.yml (con spring.profile) archivo de configuración
h. Aplicación externa JAR.Properties o Application.yml (sin Spring.Profile) Archivo de configuración
i. Jar Internal Application.Properties o Application.yml (sin Spring.Profile) Archivo de configuración
j. @PropertySource en la clase de anotación de @Configuration
k. Propiedades predeterminadas especificadas por SpringApplication.SetDefaultProperties
Nota: El método de iniciar una aplicación especificando parámetros con los parámetros de línea de comando puede ser inseguro. Podemos establecer el método para prohibir comenzar una aplicación de esta manera, de la siguiente manera:
SpringApplication.SetAdDCommandLineProperties (falso);
package com.sam.demo;import org.springframework.boot.SpringApplication;import org.springframework.boot.autoconfigure.SpringBootApplication;@SpringBootApplicationpublic class DemoApplication { public static void main(String[] args) {// SpringApplication.run(DemoApplication.class, args); SpringApplication SpringApplication = nueva SpringApplication (DemoApplication.Class); // protege la línea de comando para establecer parámetros SpringApplication.SetAdDCommandLineProperties (falso); springapplication.run (args); }}Reponer:
En la configuración de arranque de primavera, además de admitir la aplicación.
Cree una nueva aplicación.yml en lugar de Application.Properties
Servidor: Puerto: 9999com: Sam: Nombre: Sam Edad: 11 Desc: Mágico Sam
Nota: Puerto: 9999 Hay espacio en el medio. Consulte la sintaxis YML: Uso del archivo de configuración YML
Lo anterior es todo el contenido de este artículo. Espero que sea útil para el aprendizaje de todos y espero que todos apoyen más a Wulin.com.