Хорошая практика для размещения Spring @Configuration для регистрации @Beans в контексте?
Я решил, что хочу зарегистрировать Spring Beans в коде Java, и я хочу знать, как это сделать наилучшим образом.
Я внедряю deps через конструктор (не хочу использовать @Autowire - я считаю это почти антипаттерном) и могу заставить его работать, добавив:
@Configuration
public class Config {
@Bean
public BeanType getBeanType() {
return new BeanType();
}
}
НО. Куда должна идти часть @Configuration?
Должен ли я сделать класс Config для пакета? (пытается сделать код закрытым в пакетах / доменах)
Должен ли я зарегистрировать их во внутренних классах классов, которые их используют?
Как это должно быть сделано? Интернет полон антипаттернов, я хочу найти способ, который продуман до мелочей.
Спасибо заранее за любые советы.
1 ответ
Я не решался, стоит ли нажимать "Закрыть", поскольку это основано на мнении, но затем решил описать нашу практику.
Мы определяем несколько классов конфигурации и логически разделяем их, например - один конфиг для Db/hibernate/Transaction, другой для очереди / прослушивателей и т. Д., Еще один для журналов и всех связанных, плюс один для без SQL-соединения и т. Д. И т. Д.