提交 a3d59082 编写于 作者: Q qinyingjie

fix:FactoryBean使用

上级 e9b79463
package com.kwan.spring5.factorybean;
import com.kwan.spring5.Course;
import org.springframework.beans.factory.FactoryBean;
/**
* 实现 FactoryBean
*
* @author : qinyingjie
* @version : 2.2.0
* @date : 2022/11/14 18:04
*/
public class MyBean implements FactoryBean<Course> {
/**
* 定义返回bean
*
* @return
* @throws Exception
*/
@Override
public Course getObject() {
Course course = new Course();
course.setCname("abc");
return course;
}
@Override
public Class<?> getObjectType() {
return null;
}
@Override
public boolean isSingleton() {
return FactoryBean.super.isSingleton();
}
}
\ No newline at end of file
<?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:context="http://www.springframework.org/schema/context"
xsi:schemaLocation="http://www.springframework.org/schema/beans
https://www.springframework.org/schema/beans/spring-beans.xsd
http://www.springframework.org/schema/context
https://www.springframework.org/schema/context/spring-context.xsd">
<context:annotation-config/>
<bean id="myBean" class="com.kwan.spring5.factorybean.MyBean"></bean>
</beans>
\ No newline at end of file
import com.kwan.spring5.Course;
import org.junit.Test;
import org.springframework.context.ApplicationContext;
import org.springframework.context.support.ClassPathXmlApplicationContext;
/**
* 测试ioc注入
*
* @author : qinyingjie
* @version : 2.2.0
* @date : 2022/11/12 18:43
*/
public class Spring_09_FactoryBeanTest {
@Test
public void test3() {
ApplicationContext context =
new ClassPathXmlApplicationContext("spring11.xml");
Course course = context.getBean("myBean", Course.class);//返回值类型可以不是定义的bean类型!
System.out.println(course);
}
}
Markdown is supported
0% .
You are about to add 0 people to the discussion. Proceed with caution.
先完成此消息的编辑!
想要评论请 注册