Перейти к основному содержимому

Руководство по @EnableConfigurationProperties

· 2 мин. чтения

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.