2009-10-16 2 views
5

У меня возникают проблемы при попытке создать бобы из контекста весной Application внутри боба реализованным весной, используя аргументы конструктора.контекст Spring приложения доступны внутри конструктора

я реализовал интерфейс ApplicationContextAware но заполнит контекст после создания экземпляра (очевидно).

Но, если вам нужно получить бобы из конструктора, и я говорю с переменным числом объектов, определенных во время выполнения, что было бы правильным способом действовать?

ответ

5

В фасоле, созданной весной, вместо инициализации его в конструкторе инициализируйте его специальным методом, обозначенным как «init-method» для Spring.

Вы о том же эффект, как инициализации в конструкторе, но вы используете правильный Spring жизненный цикл.

+2

В качестве альтернативы реализации 'InitializingBean' или использовать' @ PostConstruct' аннотацию. – skaffman

3

Вы можете сделать контекст доступен из конструктора эксплуатирующих аспектно-ориентированного программирования. Spring имеет специальную поддержку для этого - @Configurable (Preconstruction = TRUE).

Вы можете прочитать больше о том, что при обращении яровой - 6.8.1. Using AspectJ to dependency inject domain objects with Spring