Guia para @EnableConfigurationProperties

Guia para @EnableConfigurationProperties

1. Introdução

Neste tutorial rápido,we’ll show how to use an @EnableConfigurationProperties annotation with @ConfigurationProperties annotated classes.

2. Objetivo da anotação@EnableConfigurationProperties

A anotação@EnableConfigurationProperties está estritamente conectada a@ConfiguratonProperties.

Ele permite o suporte para classes anotadas@ConfigurationProperties em nosso aplicativo. No entanto, vale a pena apontar queSpring Boot documentation diz,every project automatically includes @EnableConfigurationProperties. Portanto, o suporte@ConfiguratonProperties está implicitamente ativado em cada aplicativo Spring Boot.

Para usar uma classe de configuração em nosso projeto, precisamos registrá-la como um bean Spring regular.

Em primeiro lugar, podemos anotar tal classe com@Component. Alternativamente, podemos usar um método de fábrica@Bean.

No entanto, em certas situações,we may prefer to keep a @ConfigurationProperties class as a simple POJO. É quando@EnableConfigurationProperties é útil. Podemos especificar todos os beans de configuração diretamente nesta anotação.

Esta é uma maneira conveniente de registrar rapidamente os beans anotados de@ConfigurationProperties.

3. Usando@EnableConfigurationProperties

Agora, vamos ver como usar@EnableConfigurationProperties na prática.

Primeiro, precisamos definir nossa classe de configuração de exemplo:

@ConfigurationProperties(prefix = "additional")
public class AdditionalProperties {

    private String unit;
    private int max;

    // standard getters and setters
}

Note that we annotated the AdditionalProperties only with @ConfigurationProperties. Ainda é um POJO simples!

Finalmente, vamos registrar nosso bean de configuração usando @EnableConfigurationProperties:

@Configuration
@EnableConfigurationProperties(AdditionalProperties.class)
public class AdditionalConfiguration {

    @Autowired
    private AdditionalProperties additionalProperties;

    // make use of the bound properties
}

Isso é tudo! We can now use AdditionalProperties like any other Spring bean.

4. Conclusão

Neste tutorial rápido, apresentamosa convenient way to quickly register a @ConfigurationProperties annotated class in Spring.

Como de costume, todos os exemplos usados ​​neste artigo sãoavailable over on GitHub.