IOC操作Bean 管理(FactoryBean)
下面是在Bean 管理(工厂bean)之前的学习,基于xml方式注入集合并实现
基于xml方式注入集合并实现 :http://t.csdn.cn/H0ipR
Spring 有两种类型bean,一种普通bean,另一种工厂bean(FactoryBean)
普通bean:在配置文件中定义bean类型就是返回类型
如下,在普通类型中,定义了book是什么类型,那么返回的book就必须是什么类型
<bean id="book" class="com.atguigu.spring5.collectiontype.Book">
<property name="list" ref="booklist"></property>
</bean>
工厂bean:在配置文件定义bean类型可以和返回类型不一样。
第一步创建类,让这个类作为工厂bean,实现接口FactoryBean
第二步实现接口里面的方法,在实现的方法中定义返回的bean类型
public class MyBean implements FactoryBean<Course> {
//定义返回bean
@Override
public Course getObject() throws Exception {
Course course = new Course();
course.setCname("abc");
return course;
}
@Override
public Class<?> getObjectType() {
return null;
}
@Override
public boolean isSingleton() {
return FactoryBean.super.isSingleton();
}
}
测试类
@Test
public void testCollection3(){
ApplicationContext context =
new ClassPathXmlApplicationContext("bean3.xml");
Course course = context.getBean("myBean", Course.class);
System.out.println(course);
}
xml
<bean id="myBean" class="com.atguigu.spring5.FactoryBean.MyBean"></bean>