FactoryBean接口是Spring IoC容器Bean实例化逻辑的一个扩展点,如果有复杂的初始化Bean逻辑,则可以选择创建自定义FactoryBean,在该类中编写初始化逻辑,然后把自定义FactoryBean注入到容器中即可。
FactoryBean提供了三种方法:
-
Object getObject():返回此工厂创建的对象的实例。实例可以共享,具体取决于该工厂是否返回单例或原型。
-
boolean isSingleton():true表示返回单例对象。
-
Class getObjectType():返回getObject()方法返回的对象类型;如果类型null,则返回null。
从容器中获取Bean的方式
-
获取自定义FactoryBean本身:在bean名称前加上&符号,如-ApplicationContext.getBean("&bean