Durante o uso da Spring Boot, você pode descobrir que apenas uma pequena quantidade de configuração é necessária no projeto para concluir as funções correspondentes, graças à configuração modular na inicialização da mola. Cada iniciador dependente do POM.XML possui uma configuração padrão, e essas configurações padrão são suficientes para atender ao desenvolvimento funcional normal.
Se você precisar modificar o costume e modificar a configuração padrão, a Spring Boot fornece uma maneira muito fácil, basta adicionar e modificar a configuração correspondente no Application.properties. (A configuração padrão do Application.Properties será lida quando a bota da mola for iniciada)
1. Modifique a configuração padrão
Exemplo 1. Quando a bota da primavera está desenvolvendo aplicativos da Web, a porta de inicialização padrão do tomcat é 8080. Se você precisar modificar a porta padrão, precisará adicionar os seguintes registros no aplicativo.properties:
server.port = 8888
Reinicie o projeto e você poderá ver o log de inicialização: Tomcat Iniciado nas portas (s): 8888 (http) A porta de inicialização é 8888. Você pode acessá -lo normalmente visitando http: // localhost: 8888 no navegador.
Exemplo 2. Configuração de informações de conexão do banco de dados no desenvolvimento de botas da mola (usando o Druid da Com.alibaba aqui), adicione os seguintes registros no Application.Properties:
druid.url = jdbc: mysql: //192.168.0.20: 3306/testdruid.driver-class = com.mysql.jdbc.driverdruid.username = ro otdruid.password = 123456druid.initial-size = 1druid.min-idle = 1druid.max-active = 20druid.test-on-Borrow = true
Os dois exemplos acima ilustram que, se você precisar modificar a configuração padrão no módulo de partida, você só precisará adicionar a configuração que precisa ser modificada no aplicativo.properties.
Anexo: todos os itens de configuração para aplicativos.properties, clique para visualizar todas as instruções de configuração para a inicialização da mola
2. Configuração de atributo personalizado
Além de modificar a configuração padrão no Application.properties, também podemos configurar propriedades personalizadas aqui e carregá -las no feijão da entidade.
1. Adicione a configuração de propriedade personalizada no Application.properties
com.sam.name = samcom.sam.age = 11com.sam.desc = mágico sam
2. Escreva uma aula de feijão e carrega propriedades
A classe SAM precisa adicionar a anotação @Component, deixar o Spring Dirch à aula na inicialização e adicioná -la ao contêiner de mola.
O primeiro: use @value () suportado por mola para carregar
pacote com.sam.demo.conf; importar org.springframework.beans.factory.annotation.value; importar org.springframework.tereotype.component;/** * @author sam * @since 2017/7/15 */ @componentpublic Class sigura. @Value ("$ {com.sam.name}") nome da string privada; @Value ("$ {com.sam.age}") private Int Age; @Value ("$ {com.sam.desc}") private string desc; // getter & setter} O segundo tipo: use @configurationproperties (prefix = "" ") para definir o prefixo, e nenhuma anotação é necessária nas propriedades.
pacote com.sam.demo.conf; importar org.springframework.stereotype.component;/** * @author sam * @since 2017/7/15 */ @componente @confincurationProperties (prefix = "com.sam") public class sam {private string name; private Int Age; Private String Desc; // getter & setter} 3. Injete e use o Bean Sam no controlador.
pacote com.sam.demo.controller; importar com.sam.demo.conf.sam; importar org.springframework.beans.factory.annotation.autowired; import org.springframework.web.bind.annotation.requestMapping; import.springfringfringfringwork.web.bind.annotation.requestMapping; @Author Sam * @Since 2017/7/14 */ @RestControllerPublic Class IndexController {@AUTOWIRED SAV SAM SAM; @RequestMapping ("/index") public String Index () {System.out.println (sam.getName () + "" + sam.getage () + "" + sam.getdesc ()); retornar "índice"; }}Acesso ao navegador: http: // localhost: 8080/índice, o console imprime o conteúdo de SAM normalmente.
3. Explicação detalhada do aplicativo.Properties Configuração da propriedade
1. Referência de parâmetros e o uso do método de número aleatório aleatório
No Application.Properties, você pode consultar diretamente os valores de outras propriedades por meio de $ {}, como segue:
com.sam.name = samcom.sam.age = 11com.sam.desc = $ {nome} tem $ {Age} anos de idade. Se você precisar obter números aleatórios no Application.properties, poderá usar $ {aleatório} da seguinte forma:
#Get string aleatória com.sam.randomValue = $ {aleatória.value} #get string aleatória: $ {aleatória.value} #get aleatório int: $ {aleatória.int} #get Números aleatórios dentro de 10: $ {Random.int (10)}#Obtenha números aleatórios de 10-20: $ {Random.int [10,20]}}}} $ {Random.uuid}2. Configuração multi-ambiente
Pode haver diferentes ambientes no desenvolvimento real, incluindo ambiente de desenvolvimento, ambiente de teste e ambiente de geração. As configurações relacionadas a cada ambiente podem variar, como: informações do banco de dados, configuração da porta, configuração de caminho local, etc.
Se você precisar modificar o aplicativo.properties sempre que mudar para um ambiente diferente, a operação será muito pesada. A configuração de vários ambientes é fornecida na inicialização da primavera, facilitando a troca de ambientes.
Crie três novos arquivos no mesmo diretório que Application.Properties:
Application-dev.Properties // Desenvolvimento APLOCIMENTO DE CONFIGURAÇÃO DE AMBIENTE DE DESENVOLVIMENTO Application-Test.Properties // Desenvolvimento Aplicativo Application Application-prod.Properties // Production Environment
Os três arquivos acima correspondem ao conteúdo de configuração de desenvolvimento, teste e produção, respectivamente. A próxima etapa é como referenciar seletivamente essas configurações.
Adicionar Application.Properties:
spring.profiles.active = dev#Referência de configuração do teste#spring.profiles.active = teste#Referência Arquivo de configuração de produção#spring.profiles.active = prod.
Depois de adicionar spring.profiles.active = dev, inicie o aplicativo e você descobrirá que essas informações de configuração do dev são referenciadas.
Pode-se observar que os três arquivos de configuração acima estão em conformidade com o formato Application- {perfil} .Properties, e o dev em spring.profiles.active = dev adicionado no application.properties é o perfil no arquivo de configuração acima. Alternar imediatamente de acordo com o ambiente específico.
Ao iniciar o aplicativo com comandos executando o pacote JAR, você pode especificar a configuração correspondente.
java -jar Demo-0.0.1-Snapshot.jar--spring.profiles.active = Dev
Anexo: Os métodos de configuração e os níveis de prioridade são os seguintes:
um. Parâmetros da linha de comando
b. Atributos JNDI de Java: Comp/Env
c. Propriedades do sistema Java (System.getProperties ())
d. Variáveis de ambiente do sistema operacional
e. Random.* Valor da propriedade da configuração RandomVopertySource
f. JAR APLICAÇÃO EXTERNAL- {perfil} .Properties ou Application.yml (com spring.profile) arquivo de configuração
g. JAR APLICATIVO INTERNO- {perfil} .Properties ou Application.yml (com spring.profile) arquivo de configuração
h. jar Application.properties ou Application.yml (sem spring.profile) Arquivo de configuração
eu. jar Application.properties ou Application.yml (sem spring.profile) Arquivo de configuração
j. @PropertySource na aula de anotação @Configuration
k. Propriedades padrão especificadas por springapplication.setDefaultProperties
Nota: O método de iniciar um aplicativo especificando parâmetros com os parâmetros da linha de comando pode ser inseguro. Podemos definir o método para proibir iniciar um aplicativo dessa maneira, como segue:
springApplication.setAddCommandLineProperties (false);
pacote com.sam.demo; importar org.springframework.boot.springApplication; importar org.springframework.boot.autoconfigure.springbootapplication; @springbootapplicationpublic classe DemoApplication {public static vaid (string [] args); SpringApplication SpringApplication = New SpringApplication (DemoApplication.class); // proteja a linha de comando para definir parâmetros SpringApplication.setAddCommandLineProperties (false); springapplication.run (args); }}Reabastecer:
Na configuração de inicialização da primavera, além de suportar o aplicativo.properties, ele também suporta o método de configuração do aplicativo.yml, como segue:
Crie novo Application.yml em vez de aplicativos.properties
Servidor: Porta: 9999com: SAM: Nome: Sam Idade: 11 Desc: Magical Sam
Nota: Porta: 9999 Há espaço no meio. Consulte a sintaxe YML: uso do arquivo de configuração YML
O exposto acima é todo o conteúdo deste artigo. Espero que seja útil para o aprendizado de todos e espero que todos apoiem mais o wulin.com.