|
Spring: Использование @Qualifier чтобы определить какой бин использовать
|
|||
---|---|---|---|
#18+
Всем привет! Начал изучать Spring 5.0. Хочу разобраться, как использовать аннотацию @Qualifier для выбора нужного бина. В ниже приведенном примере я использую @Qualifier("rectangle") и внедряю бин через конструктор без аннотации @Autowired, как это рекомендует Spring, но получаю ошибку: Parameter 0 of constructor in com.example.springfigure.MainController required a single bean, but 2 were found: - circle: defined by method 'circle' in class path resource [com/example/springfigure/AppConfig.class] - rectangle: defined by method 'rectangle' in class path resource [com/example/springfigure/AppConfig.class] Action: Consider marking one of the beans as @Primary, updating the consumer to accept multiple beans, or using @Qualifier to identify the bean that should be consumed Figure.java Код: java 1. 2. 3. 4. 5.
Circle.java Код: java 1. 2. 3. 4. 5. 6. 7. 8.
Rectangle.java Код: java 1. 2. 3. 4. 5. 6. 7. 8.
AppConfig.java Код: java 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17.
MainController.java Код: java 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17. 18. 19. 20. 21. 22.
... |
|||
:
Нравится:
Не нравится:
|
|||
22.07.2018, 18:38 |
|
Spring: Использование @Qualifier чтобы определить какой бин использовать
|
|||
---|---|---|---|
#18+
Если внедрять через поле с аннотацией @Autowired, то работает без ошибок: Код: java 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12.
... |
|||
:
Нравится:
Не нравится:
|
|||
22.07.2018, 18:52 |
|
Spring: Использование @Qualifier чтобы определить какой бин использовать
|
|||
---|---|---|---|
#18+
Но почему не получается через конструктор, как это рекомендует сам Spring? ... |
|||
:
Нравится:
Не нравится:
|
|||
22.07.2018, 19:01 |
|
Spring: Использование @Qualifier чтобы определить какой бин использовать
|
|||
---|---|---|---|
#18+
Molasar Код: java 1. 2. 3.
... |
|||
:
Нравится:
Не нравится:
|
|||
22.07.2018, 19:40 |
|
Spring: Использование @Qualifier чтобы определить какой бин использовать
|
|||
---|---|---|---|
#18+
Андрей Панфилов, спасибо! Работает! А как можно сделать, чтобы название типа объекта бралось из файла application.properties? Что то типа: Код: java 1. 2. 3.
... |
|||
:
Нравится:
Не нравится:
|
|||
22.07.2018, 19:53 |
|
|
start [/forum/topic.php?fid=59&msg=39677405&tid=2121894]: |
0ms |
get settings: |
11ms |
get forum list: |
14ms |
check forum access: |
4ms |
check topic access: |
4ms |
track hit: |
59ms |
get topic data: |
10ms |
get forum data: |
2ms |
get page messages: |
44ms |
get tp. blocked users: |
1ms |
others: | 17ms |
total: | 166ms |
0 / 0 |