动态工厂创建bean

1、工厂

package com.ba02;

public class ServiceFactory {
public ISomeService getSomeService() {
return new SomeServiceImpl();
}
}

2、测试类

package com.ba02;

import org.junit.Test;
import org.springframework.beans.factory.BeanFactory;
import org.springframework.beans.factory.xml.XmlBeanFactory;
import org.springframework.context.ApplicationContext;
import org.springframework.context.support.ClassPathXmlApplicationContext;
import org.springframework.context.support.FileSystemXmlApplicationContext;
import org.springframework.core.io.ClassPathResource;

public class MyTest {

@Test
public void test01() {
	ISomeService service = new ServiceFactory().getSomeService();
	service.doSome();
}

@Test
public void test02() {
	ApplicationContext ac = new ClassPathXmlApplicationContext("com/ba02/applicationContext.xml");
	ISomeService service = (ISomeService) ac.getBean("myService");
	service.doSome();
}

}

3、配置文件

<?xml version="1.0" encoding="UTF-8"?>

<!-- 注册动态工厂 -->
<bean id="factory" class="com.ba02.ServiceFactory"/>

<!-- 注册Service 动态工厂bean-->
<bean id="myService" factory-bean="factory" factory-method="getSomeService"/>
发布了47 篇原创文章 · 获赞 1 · 访问量 384

猜你喜欢

转载自blog.csdn.net/weixin_43925059/article/details/104858938
今日推荐