O Projeto Springboot lê o arquivo de configuração Application.Properties por padrão. Se você precisar personalizar arquivos de propriedades, como lê -los?
1. Crie um novo arquivo .Properties no recurso
Crie uma nova pasta de configuração no diretório de recursos e, em seguida, crie um novo arquivo .Properties e coloque -o nesta pasta. Como mostrado em remote.properties na figura
2. Escreva arquivos de configuração
remote.uploadfilesurl =/Resource/files/remote.uploadpicurl =/Resource/Pic/
3. Crie uma nova classe de configuração remotoproperties.java
@Configuration@ConfigurationProperties (prefix = "Remote", ignoreunknownfields = false) @PropertySource ("ClassPath: config/remote.properties")@data@componentPublic class RemoteProperties {private String uploadFilesurl; String privada UploadPicurl;}em
@Configuration indica que esta é uma classe de configuração
@ConfigurationProperties (prefix = "Remote", ignoreunknownfields = false) Esta anotação é usada para vincular propriedades. O prefixo é usado para selecionar o prefixo da propriedade, ou seja, "remoto" no arquivo remote.properties. O ignoreunknownfields é usado para dizer ao Springboot para lançar uma exceção quando uma propriedade não pode corresponder ao domínio declarado.
@PropertySource ("ClassPath: config/remote.properties") Caminho do arquivo de configuração
@Data Esta é uma anotação LOMOTOK, usada para gerar métodos Getter & Setter. Para obter detalhes, consulte as informações relacionadas ao LOMOTK.
@Component identificado como feijão
4. Como usá -lo?
AnoTate EnableConfigurationProperties (RemoteProperties.class) na tabela da classe em que o método que você deseja usar o arquivo de configuração está localizado.
E injetar automaticamente
@AutowiredRemoteProperties RemoteProperties;
Use remoteproperties.getUploadfilesurl () no método para obter o conteúdo da configuração.
@EnableConfigurationProperties (RemoteProperties.class) @RestControllerPublic Classe testService {@AUTOWIRED RemoteProperties RemoteProperties; public void test () {string str = remoteproperties.getuploadfilesurl (); System.out.println (str); }}Aqui STR é "/Recurso/Files/" No arquivo de configuração.
PS: Vamos dar uma olhada em duas maneiras de ler arquivos de configuração de configuração no Spring-Boot
Se você entendeu a tecnologia Spring-Boot, deve conhecer o Application.Properties do arquivo de configuração principal da Spring-Boot e, é claro, você também pode anotar as informações do arquivo de configuração personalizado.
Como o Spring-Boot lê arquivos de configuração:
1. Leia as informações do arquivo de configuração principal do aplicativo.properties
O arquivo de configuração do núcleo refere -se ao arquivo Application.Properties ou Application.yml de configuração no diretório raiz de recursos. Existem duas maneiras de ler esses dois arquivos de configuração, ambos relativamente simples.
O Conteúdo do Arquivo de Configuração do Core.
test.msg = Hello World Springboot
Método 1: Use o método @value (comumente usado)
pacote solin.controller; importar org.springframework.beans.factory.annotation.value; importar org.springframework.web.bind.annotation.requestmapping; importar org.springframework.web.bind.annotation.restcontroller; @RestController public class WebController {@Value ("$ {test.msg}") private string msg; @RequestMapping ("/index1") public String Index1 () {return "Método 1:"+msg; }} Nota: O $ {} de @Value está incluído no nome da chave no arquivo de configuração do núcleo. Adicionar @RestController à classe Controller significa que todas as visualizações nesta classe são exibidas no JSON, semelhante a adicionar @ResponseBody ao método de exibição.
Ao visitar: http: // localhost: 8088/index1, você receberá: "Método 1: Hello World Springboot"
Método 2: Use o método do ambiente
pacote solin.controller; importar org.springframework.beans.factory.annotation.autowired; importar org.springframework.beans.factory.annotation.value; importar org.springframework.core.env.environment; importar org.springframework.web.bind.annotation.requestmapping; importar org.springframework.web.bind.annotation.restcontroller; @RestController Public Class WebController {@AUTOWIRED AMBIENCE PRIVADO ENV; @RequestMapping ("/index2") public String Index2 () {return "Método 2:"+Env.getProperty ("test.msg"); }} NOTA: Este método é usar o Evnironment para concluir a injeção de dependência. Adicione a anotação @Autowired à variável de membro criada Env para concluir a injeção de dependência e, em seguida, use Env.getProperty ("Nome da chave") para ler o valor correspondente.
Ao visitar: http: // localhost: 8088/index2, você obtém: "Método 2: Hello World Springboot"
2. Leia informações de arquivo de configuração personalizadas, por exemplo: Author.properties
Para não destruir a ecologia original do arquivo principal, mas também precisa ter informações de configuração personalizadas, em geral, os arquivos de configuração personalizados são selecionados para colocar essas informações personalizadas. Aqui, o arquivo de configuração Author.Properties é criado no diretório de recursos.
O conteúdo de recursos/autor.properties é o seguinte:
autor.name = solin autor.age = 22
Crie uma classe de entidade para gerenciar a configuração:
pacote solin.controller; importar org.springframework.boot.context.properties.configurationproperties; importar org.springframework.context.annotation.configuration; importar org.springframework.tereotype.component; // Adicionar ao comentário @component, você pode usar @Autowired diretamente para criar seu objeto de instância em outros lugares @component @ConfigurationProperties (prefix = "Author", Locations = "ClassPath: Author.Properties") Classe public mywebconfig {private string nome; private Int Age; public String getName () {Return Name; } public void setName (nome da string) {this.name = name; } public int getage () {Age de retorno; } public void setage (int Age) {this.age = Age; }}Perceber:
Existem duas propriedades na anotação @ConfigurationProperties:
Locais: especifique a localização do arquivo de configuração
Prefixo: Especifique o prefixo do nome da chave no arquivo de configuração (todos os nomes de chave no arquivo de configuração aqui começam com o autor.)
O uso do @Component é permitir que a classe dependa de outros lugares, ou seja, para criar instâncias usando a anotação @Autowired.
Crie um controlador de teste
pacote solin.controller; importar org.springframework.beans.factory.annotation.autowired; importar org.springframework.tereotype.controller; importar org.springframework.web.bind.annotation.requestmapping; importar org.springframework.web.bind.annotation.ResponseBody; @Controller Public Class ConfigController {@AUTowired Private MyWebconfig Conf; @RequestMapping ("/test") public @ResponseBody String test () {return Name: "+conf.getName ()+" --- "+" idade: "+conf.getage (); }}Nota: Como o @Component é adicionado à classe conf, você pode usar diretamente @Autowired para criar seu objeto de instância.
Ao visitar: http: // localhost: 8088/teste, você recebe: "Nome: solin --- idade: 22"
Resumir
O acima exposto é o método de leitura de arquivos de configuração de propriedades personalizadas no Springboot, introduzidas pelo editor. Espero que seja útil para você. Se você tiver alguma dúvida, deixe -me uma mensagem e o editor responderá a você a tempo. Muito obrigado pelo seu apoio ao site wulin.com!