JSR-250 говорит, что аннотируемые методы всего @Resource назовут перед @PostConstruct методом..
Мой вопрос:
Это означает, что аннотируемые методы всего @Resource на всех бобах в контексте назовут, прежде чем аннотируемые методы какого-либо @PostConstruct называют? Или другими словами может бобы @PostConstruct метод быть названным, после того как его зависимости были введены, даже если другие бобы в контексте все еще не имели там введенных зависимостей?
С уважением, Tim.
Гарантируется, что при вызове @PostConstruct
данного bean-компонента все его поля @Resource
будут введены. Если какие-либо из этих инъекций сами по себе являются bean-компонентами со своими собственными @Resource
и @PostConstruct
, то они уже были вызваны. Другими словами, к моменту вызова любого заданного @PostConstruct
гарантируется, что все его зависимости были полностью инициализированы.
Возможно, и на самом деле вероятно, что BeanA
будет сконструирован и инициализирован с помощью @PostConstruct
до того, как будет создан экземпляр BeanB
, if BeanB
не имеет выраженной зависимости от BeanA
.