1. Spring 有两种类型 bean,一种是普通 bean,另一种是工厂bean
2. 普通 bean:在配置文件中定义 bean了类型就是返回类型
3. 工厂bean:在配置文件中定义bean类型可以和返回类型不一样
1. 第一步创建类,让这个类作为工厂bean,实现接口FactoryBean
2. 第二步 实现接口里面的方法,在实现的方法中定义的返回类型
package com.study.modules.factorybean;
import com.study.modules.collection.entity.Course;
import org.springframework.beans.factory.FactoryBean;
/**
* MyBean.
*
* @author lipw
* @since 2021/11/30 10:45
*/
public class MyBean implements FactoryBean {
@Override
public Object getObject() throws Exception {
Course course = new Course();
course.setCourseName("abc");
return course;
}
@Override
public Class<?> getObjectType() {
return null;
}
}
配置文件:
<?xml version="1.0" encoding="UTF-8"?>
<beans xmlns="http://www.springframework.org/schema/beans"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xmlns:util="http://www.springframework.org/schema/util"
xsi:schemaLocation="http://www.springframework.org/schema/beans
http://www.springframework.org/schema/beans/spring-beans.xsd
http://www.springframework.org/schema/util
http://www.springframework.org/schema/util/spring-util.xsd">
<util:list id="bookList" >
<value>易筋经</value>
<value>九阳神功</value>
<value>道德经</value>
</util:list>
<bean id="myBean" class="com.study.modules.factorybean.MyBean">
</bean>
</beans>