Hoje estou compartilhando com você a leitura de informações de configuração personalizadas; Recentemente, há planos de escrever blogs, e eu irei cruzar artigos no Springboot e Springcloud, porque o Springboot deve ter muitos capítulos, de modo que os artigos em nuvem terão que esperar até muito tempo antes que possam ser escritos. O motivo para compartilhar esses dois artigos é principalmente para facilitar sua busca por informações e desempenhar um papel conveniente para os amigos usarem;
•@Value Tag Reading (O nó do Application.yml pode ser lido diretamente por padrão)
• Nó de mapeamento de entidade Application.yml
• Entidade mapeia nós para arquivos de configuração personalizados
• Entidade mapeia os valores dos nós de vários níveis
@Value Tag Reading (o nó do Application.yml pode ser lido diretamente por padrão)
Primeiro, personalize as seguintes informações do nó no arquivo de configuração Application.yml padrão:
Shenniu: Nome: Shenniu 003
Em seguida, o valor do atributo é obtido diretamente através da tag @Value. Para exibir melhor os dados, a interface A /Conf /Name é definida na interface:
@Value ("$ {shenniu.name}") nome da string privada; @GetMapping ("/conf/defname") public string getDefName () {return this.name; }Após a corrida, os efeitos são os seguintes:
Application.yml de mapeamento de entidades
Para mapear o valor do arquivo de configuração padrão com as classes de entidade, você só precisa adicionar um prefixo de nome da propriedade. Obviamente, isso é apenas para as propriedades no arquivo Application.yml padrão:
@Configuration@ConfigurationProperties (prefix = "Shenniu") Classe Public Shenniuconf {private String Name; public String getName () {Return Name; } public void setName (nome da string) {this.name = name; } URL privado URL; public url geturl () {return url; } public void Seturl (url url) {this.url = url; } string privada DES; public string getdes () {return des; } public void SetDes (String des) {this.des = DES; } classe estática pública URL {private string blogurl; public String getBlogurl () {return blogurl; } public void setBLogurl (String blogurl) {this.blogurl = blogUrl; }}}Eu adicionei várias propriedades à classe de entidade, para a conveniência dos testes posteriores; Para configurar o Application.yml, você só precisa adicionar a tag @configurationproperties (prefix = "shenniu"), e o valor do prefixo corresponde ao prefixo dos atributos de arquivo de configuração personalizados; Aqui a interface /conf /name é adicionada para produzir o valor do objeto mapeado:
@Autowired Private Shenniuconf Shenniuconf; @GetMapping ("/conf/name") public string getName () {return shenniuconf.getName (); }O mesmo efeito que a anotação @Values é obtido, o que significa que os atributos personalizados da entidade e o arquivo de configuração foram correspondidos com sucesso, e os nomes de atributos da entidade principal devem ser consistentes com os nomes dos nó do arquivo de configuração;
Entidade mapeia nós para arquivos de configuração personalizados
É muito simples ler os valores da propriedade no Application.yml. Às vezes, você precisa personalizar seu próprio arquivo de configuração, como o My My.Properties aqui, e o conteúdo do arquivo é o seguinte:
shenniu.des = eu amo minha pátria shenniu.url.blogurl = http: //www.a.com
A entidade de mapeamento ainda é usada acima, mas a anotação @propertySource ("ClassPath: my.properties") precisa ser adicionada à entidade para representar a fonte de arquivo personalizada, e o prefixo também é necessário para especificar o prefixo do nó; Adicionamos a seguinte interface de exibição:
@Autowired Private Shenniuconf Shenniuconf; @GetMapping ("/conf/des") public string getdes () {return shenniuconf.getdes (); }Entidade mapeia o valor dos nós de vários níveis
Geralmente, os nós de configuração personalizados têm relacionamentos hierárquicos, então como nossas entidades podem obter valores de atributo em diferentes níveis? De fato, ele só precisa ser expresso através de relacionamentos hierárquicos de classe na classe de entidade, como o atributo da classe de entidade da URL na entidade Shenniuconf acima;
Aqui está uma interface de teste:
@Autowired Private Shenniuconf Shenniuconf; @GetMapping ("/conf/myConf") public ShenniuConf getBlogurl () {return Shenniuconf; }Se nada inesperado acontecer, os seguintes resultados podem ser obtidos:
Endereço Git: https://github.com/shenniuboxing3 pacote de publicação NUGET: https://www.nuget.org/profiles/shenniuboxing3
Resumir
O exposto acima é o método do SpringBoot Reading Custom Configuration File Nomes Introduzido a você pelo editor. Espero que seja útil para você. Se você tiver alguma dúvida, deixe -me uma mensagem. O editor responderá a você a tempo!