1. Введение
В этом кратком руководстве мы покажем, как использовать аннотацию @EnableConfigurationProperties с аннотированными
классами @ConfigurationProperties
.
2. Назначение аннотации @EnableConfigurationProperties
Аннотация @EnableConfigurationProperties
строго связана с @ConfiguratonProperties.
Он включает поддержку аннотированных классов @ConfigurationProperties
в нашем приложении. Однако стоит отметить, что в документации Spring Boot говорится, что каждый проект автоматически включает @EnableConfigurationProperties.
Поэтому поддержка @ConfiguratonProperties
неявно включена в каждом приложении Spring Boot.
Чтобы использовать класс конфигурации в нашем проекте, нам нужно зарегистрировать его как обычный компонент 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.