diff --git a/src/main/java/com/kwan/spring5/factorybean/MyBean.java b/src/main/java/com/kwan/spring5/factorybean/MyBean.java new file mode 100644 index 0000000000000000000000000000000000000000..389b6a72f31f6c02df4bd7dd1eb8aee4575d23c1 --- /dev/null +++ b/src/main/java/com/kwan/spring5/factorybean/MyBean.java @@ -0,0 +1,36 @@ +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 { + /** + * 定义返回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 diff --git a/src/main/resources/spring11.xml b/src/main/resources/spring11.xml new file mode 100644 index 0000000000000000000000000000000000000000..d59144a63ce501b3ede2f290157a7ab1ab6ffed4 --- /dev/null +++ b/src/main/resources/spring11.xml @@ -0,0 +1,13 @@ + + + + + + + \ No newline at end of file diff --git a/src/test/java/Spring_09_FactoryBeanTest.java b/src/test/java/Spring_09_FactoryBeanTest.java new file mode 100644 index 0000000000000000000000000000000000000000..ae3d2183406acffc3a50f37dc7349230de2dd240 --- /dev/null +++ b/src/test/java/Spring_09_FactoryBeanTest.java @@ -0,0 +1,23 @@ +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); + } + +}