JSR-250 表示所有带@Resource 注释的方法都将在@PostConstruct 方法之前被调用。
我的问题是:
这是否意味着上下文中所有 bean 上的所有 @Resource 注释方法都将在调用任何 @PostConstruct 注释方法之前被调用? 或者换句话说,即使上下文中的其他 bean 仍未注入(inject)依赖项,也可以在注入(inject)依赖项后调用 beans @PostConstruct 方法吗?
问候, 蒂姆。
最佳答案
保证当给定 bean 的 @PostConstruct
被调用时,它的所有 @Resource
字段都将被注入(inject)。如果这些注入(inject)中的任何一个本身是具有自己的 @Resource
和 @PostConstruct
的 bean,那么这些注入(inject)将已经被调用。换句话说,在调用任何给定的 @PostConstruct
时,可以保证其所有依赖项都已完全初始化。
有可能,事实上,BeanA
将在 BeanB
被实例化之前通过 @PostConstruct
构造和初始化, 如果 BeanB
对BeanA
没有明确的依赖。
关于java - 再次在任何@PostConstruct 之前注入(inject)所有@Resource,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3244789/