【问题标题】:All @Resource injection before any @PostConstruct again再次在任何@PostConstruct 之前进行所有@Resource 注入
【发布时间】:2010-07-14 09:16:58
【问题描述】:

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

我的问题是:

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

问候, 蒂姆。

【问题讨论】:

    标签: java spring resources lifecycle postconstruct


    【解决方案1】:

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

    有可能,事实上很可能,BeanA 将在 BeanB 被实例化之前通过 @PostConstruct 构造和初始化,如果 BeanB 没有明确的依赖于BeanA.

    【讨论】:

    • 谢谢肯尼 :) 这解释了它。
    猜你喜欢
    • 2023-03-26
    • 1970-01-01
    • 2011-09-30
    • 2014-06-24
    • 2012-10-07
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多