| Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате |
| Форум программистов > Java EE (J2EE) и Spring > JSF 2.0 Resource injection for @ApplicationScoped |
| Автор: vogdb 5.8.2010, 18:14 | ||
Привет всем. Натолкнулся на странную штуку. Если иметь два бина с ApplicationScoped и один знает о другом через проперти, то получается так, что на самом деле не знает. Server в конструкторе имеет config == null. Никто не сталкивался? Есть ли решение?
Происходит это на jsf2.0.2 и glassfish3 |
| Автор: powerOn 6.8.2010, 09:36 |
Вообще говоря, сначала происходит конструирование объекта, а только потом инъектирование зависимостей. Куда их инъектировать если объект еще не создан? А при создании объекта вызывается его конструктор. Короче говоря, если нужно сделать инициализацию, то смотрите аннотация @PostConstruct. |
| Автор: vogdb 6.8.2010, 10:44 |
| Спасибо, в очередной раз помогаете =) |
| Автор: Старовъръ 6.8.2010, 21:11 | ||
|
| Автор: Старовъръ 7.8.2010, 11:30 |
| Если посмотреть на тот же Spring, он будет инициализировать все объекты, которые инжектятся, потом только те, в которые инжектятся и никак иначе. Любой IoC должен уметь разруливать зависимости. Мне кажется нужно все-таки искать ошибку где-то в другом месте. |
| Автор: powerOn 7.8.2010, 11:49 | ||
Старовъръ, автор топика не может получить ссылку на зависимость внутри конструктора. Вы и в Spring её не получите внутри конструктора, если конечно не будет использовано construncor injection. |
| Автор: Старовъръ 7.8.2010, 11:53 |
| Оу, я прошу прощение, не заметил, что речь идет о конструкторе.. |
| Автор: powerOn 7.8.2010, 11:55 | ||
Ничего страшного, главное что ситуация прояснилась. |