标签:定义 print boolean 返回 保存 work pac throws amp
1.工厂bean调用
@Configuration public class MainConfig2 {/** * 使用Spring提供的 FactoryBean(工厂Bean); * 1)、默认获取到的是工厂bean调用getObject创建的对象 * 2)、要获取工厂Bean本身,我们需要给id前面加一个& * &colorFactoryBean
* 与其他框架整合的时候用的多 */ @Bean public ColorFactoryBean colorFactoryBean(){ return new ColorFactoryBean(); } }
2.工厂bean
package com.atguigu.bean; import org.springframework.beans.factory.FactoryBean; //创建一个Spring定义的FactoryBean public class ColorFactoryBean implements FactoryBean<Color> { //返回一个Color对象,这个对象会添加到容器中 @Override public Color getObject() throws Exception { System.out.println("ColorFactoryBean...getObject..."); return new Color(); } @Override public Class<?> getObjectType() { return Color.class; } //是单例? //true:这个bean是单实例,在容器中保存一份 //false:多实例,每次获取都会创建一个新的bean; @Override public boolean isSingleton() { return false; } }
3.调用测试
@Test public void testImport(){ //工厂Bean获取的是调用getObject创建的对象 Object bean2 = applicationContext.getBean("colorFactoryBean"); Object bean3 = applicationContext.getBean("colorFactoryBean"); System.out.println("bean的类型:"+bean2.getClass()); System.out.println(bean2 == bean3); //工厂Bean获取的是ColorFactoryBean对象本身 Object bean4 = applicationContext.getBean("&colorFactoryBean"); System.out.println(bean4.getClass()); }
标签:定义 print boolean 返回 保存 work pac throws amp
原文地址:https://www.cnblogs.com/guchunchao/p/9691994.html