В настоящее время я использую @Component
только на моих Views
, Controllers
и Models
. Чтобы быть точным, я использую @RestController
для Views
, @Service
для Controllers
и @Component
для Models
(потому что я хочу использовать Hibernate в качестве поставщика ORM)
Моя проблема что я также использую @Autowired
конструкторы, что означает, что я могу использовать только @Component
основанные объекты в моем конструкторе. Иногда мне нужно создать контроллер, который принимает класс без компонентов. В качестве примера - добавить класс Config помимо других @Component
объектов в мой конструктор.
Что я должен сделать в общем:
1) Добавить @Component
аннотацию ко всем Java классам .
2) Добавить @Component
только в те классы, которые мне нужны? (что означает, что некоторые мои классы Config будут иметь @Component
, а другие классы Config не будут.)
3) Не использовать @Autowired
в подобных ситуациях, создавать контроллер обычным способом?
4) Не использовать @Autowired
конструкторы вообще?
5) Другие идеи?