在任何@PostConstruct之前再次注入所有@Resource

时间:2010-07-14 09:16:59

标签: java spring resources lifecycle postconstruct

JSR-250表示将在@PostConstruct方法之前调用所有@Resource注释方法。

我的问题是:

这是否意味着在调用任何@PostConstruct注释方法之前,将调用上下文中所有bean的所有@Resource注释方法? 或者换句话说,一旦注入了依赖项,就可以调用bean @PostConstruct方法,即使上下文中的其他bean仍没有注入依赖项吗?

此致   添

1 个答案:

答案 0 :(得分:9)

保证当调用给定bean的@PostConstruct时,将注入所有@Resource个字段。如果这些注射中的任何一个本身就是具有自己的@Resource@PostConstruct的bean,那么这些注入就已经被调用了。换句话说,在调用任何给定的@PostConstruct时,可以保证所有依赖项都已完全初始化。

BeanA@PostConstruct实例化之前,BeanB有可能,实际上很可能会BeanB构建并初始化, if {{ 1}}没有表达对BeanA的依赖。