|
|
|
Spring autowire @Component
|
|||
|---|---|---|---|
|
#18+
Добрый день! Возникла проблема такого рода: необходимо заавтовайрить поле в бин, определённый в xml конфиге, причём само поле представляет из себя класс аннотированный @Component. Насколько я понимаю, контекст об эти "компонентах" ничего не знает, и получить их, соответственно, никак не может. Подскажите какое-нибудь решение окромя определения второго бина в xml, сам найти ничего не смог путнего. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 21.06.2014, 00:07 |
|
||
|
Spring autowire @Component
|
|||
|---|---|---|---|
|
#18+
Вызови context.getBean("DoSOfRedRiverComponent") и мы узнаем видит ли контекст твои компоненты или нет. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 21.06.2014, 01:08 |
|
||
|
Spring autowire @Component
|
|||
|---|---|---|---|
|
#18+
mayton, Неа. Не видит. Странная фигня вообще. Вот конфиги: Код: xml 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17. 18. 19. 20. 21. 22. 23. 24. 25. 26. 27. 28. 29. 30. 31. 32. 33. 34. 35. 36. 37. 38. 39. 40. 41. 42. 43. 44. 45. 46. Код: xml 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17. 18. 19. 20. 21. 22. 23. 24. 25. 26. 27. 28. 29. 30. В InternalManager это так выглядит: public class InternalManager { @Autowired private RequestProcessor processor; .... ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 21.06.2014, 01:38 |
|
||
|
Spring autowire @Component
|
|||
|---|---|---|---|
|
#18+
DoSOfRedRivermayton, Неа. Не видит. Странная фигня вообще. Вот конфиги: Код: xml 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17. 18. 19. 20. 21. 22. 23. 24. 25. 26. 27. 28. 29. 30. 31. 32. 33. 34. 35. 36. 37. 38. 39. 40. 41. 42. 43. 44. 45. 46. Код: xml 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17. 18. 19. 20. 21. 22. 23. 24. 25. 26. 27. 28. 29. 30. В InternalManager это так выглядит: public class InternalManager { @Autowired private RequestProcessor processor; .... Покажите, как вы спрингу указываете, где лежат ваши xml конфиги. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 21.06.2014, 10:43 |
|
||
|
Spring autowire @Component
|
|||
|---|---|---|---|
|
#18+
organism, Код: xml 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17. 18. 19. 20. 21. 22. 23. 24. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 21.06.2014, 19:42 |
|
||
|
Spring autowire @Component
|
|||
|---|---|---|---|
|
#18+
DoSOfRedRiverДобрый день! Возникла проблема такого рода: необходимо заавтовайрить поле в бин, определённый в xml конфиге, причём само поле представляет из себя класс аннотированный @Component. Насколько я понимаю, контекст об эти "компонентах" ничего не знает, и получить их, соответственно, никак не может. Подскажите какое-нибудь решение окромя определения второго бина в xml, сам найти ничего не смог путнего. Посмотри стектрейс. Возможно spring не может выбрать бин. Т.к. у вас два раза описан бин, ч/з .xml и ч/з аннотацию. Такая проблема решается ч\з конструкцию: @Qualifier("MyBeanID") @Autowired private MyBeanClass myBean; где "MyBeanID" id бина заданый в .xml ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 23.06.2014, 07:19 |
|
||
|
Spring autowire @Component
|
|||
|---|---|---|---|
|
#18+
mad_nazgul, В том то и суть, что выбрать он его может. Сам бин, в который мне нужно поле заинжектить, описан в XML, и аннотаций над собой не имеет (лишь @autowire над полем). Но, как я понял, оно заинжектится не может, потому-что описано через @Component. Как-то так. Если попытаться описать поле-бин в XML, и выбирать через @Qualifier, то это по сути разные бины будут с разным состояние. А мне надо чтоб оно всё будто-бы в одном контексте работало. Вот. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 24.06.2014, 00:04 |
|
||
|
Spring autowire @Component
|
|||
|---|---|---|---|
|
#18+
DoSOfRedRivermad_nazgul, В том то и суть, что выбрать он его может. Сам бин, в который мне нужно поле заинжектить, описан в XML, и аннотаций над собой не имеет (лишь @autowire над полем). Но, как я понял, оно заинжектится не может, потому-что описано через @Component. Как-то так. Если попытаться описать поле-бин в XML, и выбирать через @Qualifier, то это по сути разные бины будут с разным состояние. А мне надо чтоб оно всё будто-бы в одном контексте работало. Вот. Тогда либо шашечки, либо ехать. :-) Т.е. оставьте одно описание бина. Либо ч/з аннотацию, либо ч/з XML. А так у вас есть 2 одинаковых бина и Spring не знает какой вам нужен. Вы либо говорите конкретно какой вам нужен, ч/з @Qualifier. Либо "должен остаться только один". :-) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 24.06.2014, 07:19 |
|
||
|
Spring autowire @Component
|
|||
|---|---|---|---|
|
#18+
mad_nazgul, Дак у меня он и остался в XML. Проблема в том, что другой бин через @Component работает, потому и не инжектится. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 24.06.2014, 18:22 |
|
||
|
|

start [/forum/topic.php?fid=59&msg=38678903&tid=2126957]: |
0ms |
get settings: |
5ms |
get forum list: |
10ms |
check forum access: |
2ms |
check topic access: |
2ms |
track hit: |
167ms |
get topic data: |
7ms |
get forum data: |
2ms |
get page messages: |
31ms |
get tp. blocked users: |
1ms |
| others: | 201ms |
| total: | 428ms |

| 0 / 0 |
