Хорошая практика для размещения 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-соединения и т. Д. И т. Д.

Другие вопросы по тегам