4

在一个 spring 上下文中,我发现一些 bean 引用包含&在 bean 名称之前。我想知道&春天名字的开头是什么意思。

4

1 回答 1

8

它们是对 FactoryBeans 的引用(即工厂本身,而不是工厂生产的对象)。来自Spring 文档

当您需要向容器询问实际FactoryBean实例本身,而不是它生成的 bean时,&在调用. 因此,对于一个 id 为 myBean 的给定,在容器上调用会返回 的乘积,而调用会返回实例本身。getBean()ApplicationContextFactoryBeangetBean("myBean")FactoryBeangetBean("&myBean")FactoryBean

XML 中的 & 符号需要作为&实体引用进行转义,所以如果你想在 XML 中声明一个属性值,它是对FactoryBean你需要的 a 的引用

<property name="someProperty" ref="&amp;myBean" />
于 2013-05-30T11:30:18.973 回答