我知道这idref
是用来传递 bean 的 id(即字符串值但不是引用)。我在一次采访中被问到,它的用例可以是什么idref
?为什么以及何时应该使用它?
问问题
87 次
1 回答
1
idref
只需通过在部署时验证所引用的命名 bean 实际存在来增加一层安全性。
例子
<bean id="abc" class="..."/>
<bean id="xyz" class="...">
<property name="abcName">
<idref bean="abc" />
</property>
</bean>
也可以写成
<bean id="abc" class="..." />
<bean id="xyz" class="...">
<property name="abcName" value="abc" />
</bean>
已经描述了使用第一种方式的优点。
如果您使用第二种方法,则不会对传递给beanabcName
属性的值执行验证,xyz
即在加载上下文期间。
xyz
只有在实例化 bean时才会发现错误。因此,我们永远无法知道开发人员在实例化阶段是否注入了任何拼写错误。
注意: 这只是推荐的方法,不是强制性的方法
于 2014-12-10T13:32:56.293 回答