Java ref vs取决于Spring中的属性
我对Spring中的ref和dependent属性感到困惑。我阅读了Spring文档,但仍然感到困惑。我想知道两者之间的确切区别,以及在何种情况下应使用哪一种属性。来自官方文档: 当前bean所依赖的bean。指定的任何bean都保证由容器在该bean之前创建。在bean不通过属性或构造函数参数显式依赖于另一个bean,而是依赖于另一个bean初始化的副作用的情况下很少使用Java ref vs取决于Spring中的属性,java,spring,Java,Spring,我对Spring中的ref和dependent属性感到困惑。我阅读了Spring文档,但仍然感到困惑。我想知道两者之间的确切区别,以及在何种情况下应使用哪一种属性。来自官方文档: 当前bean所依赖的bean。指定的任何bean都保证由容器在该bean之前创建。在bean不通过属性或构造函数参数显式依赖于另一个bean,而是依赖于另一个bean初始化的副作用的情况下很少使用 也许一个需要依赖的情况的例子会有所帮助。我用弹簧把豆子装上电线。下面是一个示例bean定义: <bean id="m
也许一个需要依赖的情况的例子会有所帮助。我用弹簧把豆子装上电线。下面是一个示例bean定义:
<bean id="myBean" class="my.package.Class">
<property name="destination" value="bean:otherBeanId?method=doSomething"/>
</bean>
<bean id="otherBeanId" class="my.package.OtherClass"/>
请注意,属性值是一个字符串,它引用了otherBeanId。由于该变量的解析方式,Spring无法了解依赖关系,因此它可能会先破坏otherBeanId,然后再破坏myBean。这可能会让myBean暂时处于损坏状态
我可以使用dependens-on解决此问题,如下所示:
<bean id="myBean" class="my.package.Class" depends-on="otherBeanId">
<property name="destination" value="bean:otherBeanId?method=doSomething"/>
</bean>
可能存在这样一种情况:一个bean可能是另一个bean中的属性,即;属性bean作为属性直接参与bean定义,在这种情况下,我们使用
ref
属性引用bean
在一个bean实例化中,可能需要成功创建另一个bean,而另一个bean不是定义中的bean的属性,在这种情况下,我们使用
depends
属性