Все инъекции @Resource перед любой @PostConstruct снова - PullRequest
7 голосов
/ 14 июля 2010

JSR-250 сообщает, что все аннотированные методы @Resource будут вызываться до метода @PostConstruct ..

Мой вопрос:

Означает ли это, что все аннотированные методы @Resource для всех bean-компонентов в контексте будут вызываться до вызова аннотированных методов @PostConstruct? Или, другими словами, может ли метод bean @PostConstruct вызываться после внедрения его зависимостей, даже если другие компоненты в контексте еще не вводили зависимости?

С уважением, Тим.

1 Ответ

9 голосов
/ 14 июля 2010

Гарантируется, что при вызове @PostConstruct данного бина будут введены все его @Resource поля.Если какие-либо из этих инъекций сами являются бобами со своими @Resource и @PostConstruct, то они уже будут вызваны.Другими словами, к моменту вызова любого данного @PostConstruct гарантируется, что все его зависимости были полностью инициализированы.

Возможно и фактически вероятно, что будет построено BeanAи инициализируется через @PostConstruct до того, как будет создан экземпляр BeanB, , если BeanB не имеет явной зависимости от BeanA.

...