«1. Введение
В этом кратком руководстве мы покажем, как использовать аннотацию @EnableConfigurationProperties с аннотированными классами @ConfigurationProperties.
2. Назначение аннотации @EnableConfigurationProperties
Аннотация @EnableConfigurationProperties строго связана с @ConfiguratonProperties.
Это включает поддержку аннотированных классов @ConfigurationProperties в нашем приложении. Однако стоит отметить, что в документации Spring Boot говорится, что каждый проект автоматически включает @EnableConfigurationProperties. Поэтому поддержка @ConfiguratonProperties неявно включена в каждом приложении Spring Boot.
Чтобы использовать класс конфигурации в нашем проекте, нам нужно зарегистрировать его как обычный bean-компонент Spring.
Прежде всего, мы можем аннотировать такой класс с помощью @Component. В качестве альтернативы мы можем использовать фабричный метод @Bean.
Однако в определенных ситуациях мы можем предпочесть сохранить класс @ConfigurationProperties как простой POJO. Вот когда @EnableConfigurationProperties пригодится. Мы можем указать все компоненты конфигурации непосредственно в этой аннотации.
Это удобный способ быстро зарегистрировать аннотированные компоненты @ConfigurationProperties.
3. Использование @EnableConfigurationProperties
Теперь давайте посмотрим, как использовать @EnableConfigurationProperties на практике.
Во-первых, нам нужно определить наш пример класса конфигурации:
@ConfigurationProperties(prefix = "additional")
public class AdditionalProperties {
private String unit;
private int max;
// standard getters and setters
}
Обратите внимание, что мы аннотировали AdditionalProperties только с помощью @ConfigurationProperties. Это все еще простой POJO!
Наконец, давайте зарегистрируем наш компонент конфигурации, используя @EnableConfigurationProperties:
@Configuration
@EnableConfigurationProperties(AdditionalProperties.class)
public class AdditionalConfiguration {
@Autowired
private AdditionalProperties additionalProperties;
// make use of the bound properties
}
Вот и все! Теперь мы можем использовать AdditionalProperties, как и любой другой bean-компонент Spring.
4. Заключение
В этом кратком руководстве мы представили удобный способ быстрой регистрации аннотированного класса @ConfigurationProperties в Spring.
Как обычно, все примеры, использованные в этой статье, доступны на GitHub.