- Spring BeanFactory中有一段这样的描述
- 对FactoryBean的转义定义 因为如果使用bean的名字检索FactoryBean得到的对象是工厂生成的对象
- 如果需要得到工厂本身 需要转义
public interface BeanFactory {
/**
* Used to dereference a {@link FactoryBean} instance and distinguish it from
* beans <i>created</i> by the FactoryBean. For example, if the bean named
* {@code myJndiObject} is a FactoryBean, getting {@code &myJndiObject}
* will return the factory, not the instance returned by the factory.
*/
String FACTORY_BEAN_PREFIX = "&";
}
FactoryBean spring内部实现了一种规范& 开头作为beanName
spring中所有的容器都是FactoryBean
因为容器本身也是由容器管理,root来创建
都是单例放在IOC容器中
BeanFactory:Bean工厂的顶层规范,只是定义了getBean()方法