加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 编程开发 > Java > 正文

java – Spring:如何在Bean B加载完成后初始化Bean A?

发布时间:2020-12-15 08:43:48 所属栏目:Java 来源:网络整理
导读:我有一个BeanA,其构造函数需要BeanB. 一旦BeanB被实例化(及其属性设置),我想调用BeanB.init() 有办法做到这一点吗? 另一种方法是在创建上下文中的所有bean之后调用BeanB.init(). 干杯! 解决方法 您可以在applicationContext.xml中使用init-method来指定init
我有一个BeanA,其构造函数需要BeanB.
一旦BeanB被实例化(及其属性设置),我想调用BeanB.init()

有办法做到这一点吗?

另一种方法是在创建上下文中的所有bean之后调用BeanB.init().

干杯!

解决方法

您可以在applicationContext.xml中使用init-method来指定init方法.如果您希望bean在另一个之后进行实例化,则可以使用depends-on,即使任何ref元素(在此示例中为constructor-args)将隐式地放置依赖项.

这将首先使用init方法初始化Bean B,并在完成后将其用作A的构造函数参数.

<!-- Bean B -->
<bean id="beanB" 
    class="classB"
    init-method="init"
/>

<!-- Bean A -->
<bean id="beanA" 
    class="classA"
    init-method="anotherInit">
        <constructor-arg ref="beanB"/>
    </bean>

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读