1、Spring 有两种类型 bean,一种普通 bean,另外一种工厂 bean(FactoryBean)
2、普通 bean:在配置文件中定义 bean 类型就是返回类型
3、工厂 bean:在配置文件定义 bean 类型可以和返回类型不一样
第一步 创建类,让这个类作为工厂 bean,实现接口 FactoryBean
第二步 实现接口里面的方法,在实现的方法中定义返回的 bean 类型
package com.atguigu.spring5.factorybean;import com.atguigu.spring5.collectiontype.Course;import org.springframework.beans.factory.FactoryBean;public class MyBean implements FactoryBean<Course> {//定义返回 bean/*** 定义类型和返回类型不一样是由该方法决定的* @return* @throws Exception*/@Overridepublic Course getObject() throws Exception {Course course = new Course();course.setCname("abc");return course;}@Overridepublic Class<?> getObjectType() {return null;}@Overridepublic boolean isSingleton() {return false;}}
<bean id="myBean" class="com.atguigu.spring5.factorybean.MyBean"></bean>
@Testpublic void testCollection3(){ApplicationContext context = new ClassPathXmlApplicationContext("bean3.xml");Course course = context.getBean("myBean", Course.class);System.out.println(course);}
