Должен ли я добавить аннотацию @Component ко всем классам в программе Java Spring? - PullRequest
1 голос

В настоящее время я использую @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) Другие идеи?

...