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

我的问题是:

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

问候,
蒂姆

最佳答案

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

如果BeanA没有明确表示对@PostConstruct的依赖关系,则有可能甚至实际上有可能在BeanB尚未实例化之前通过BeanB构造并初始化BeanA

关于java - 再次在任何@PostConstruct之前进行所有@Resource注入(inject),我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/3244789/

10-10 15:02