Аннотация @Configuration помечает класс как первоисточник определений бинов в Spring-приложении. Она сигнализирует фреймворку Spring, что этот класс содержит методы, которые создают бины, управляемые контейнером.
Классы с аннотацией @Configuration могут определять бины с помощью аннотации @Bean на отдельных методах. Каждый метод с аннотацией @Bean:
Ключевая особенность классов @Configuration — это их способность управлять зависимостями между бинами. Ты можешь:
@Bean в том же классе@Configuration
public class ApplicationConfig {
@Bean
public DataSource dataSource() {
return new DataSource();
}
@Bean
public UserService userService(DataSource dataSource) {
return new UserService(dataSource);
}
}
Классы @Configuration — это полноценная альтернатива XML-конфигурации. Они обеспечивают типобезопасные, легко рефакторируемые определения бинов и позволяют использовать все возможности языка Java для сложных сценариев настройки.
Аннотация @Configuration позволяет классу определять бины через методы с аннотацией @Bean, которые регистрируются и управляются контейнером Spring.
Новый — ещё не проверен сообществом
Вы