Spring Bean Scope Singleton Prototype 相互引用说明

来源:互联网 发布:dns域名服务器地址 编辑:程序博客网 时间:2024/05/21 11:07

Spring  中默认都是singleton模式,getBean方法调用时都是返回的同一个实例.

    <bean id="beanA" class="com.profile.springtest.BeanA">        <property name="beanB"><ref local="beanB"/></property>    </bean>    <bean id="beanB" class="com.profile.springtest.BeanB" scope="prototype">    </bean>


如上的配置,虽然beanB配置的是prototype,但由于beanA是singleton,只实例化一次,所以beanA中的beanB每次使用的都是同一个实例,如果需要每次取到beanB的不同实例,可以使用spirng的lookup机制.

    <bean id="beanA" class="com.profile.springtest.BeanA" scope="prototype">        <property name="beanB"><ref local="beanB"/></property>    </bean>    <bean id="beanB" class="com.profile.springtest.BeanB" >    </bean>


如上的配置beanA配置为prototype,每次getBean("beanA"),获取都是不同的实例,但使用的beanB都是同一个实例.

原创粉丝点击