@Test public void test() { ApplicationContext ctx = new ClassPathXmlApplicationContext("applicationContext.xml"); PeopleService peopleService = (PeopleService) ctx.getBean("peopleService"); peopleService.save(); } @Test public void test2() { TigerClassPathXMLApplicationContext ctx = new TigerClassPathXMLApplicationContext("applicationContext.xml"); PeopleService peopleService = ((PeopleServiceBeanFactory) ctx.getBean("peopleServiceBeanFactory")).createPeopleServiceBean(); peopleService.save(); } @Test public void test3() { ApplicationContext ctx = new ClassPathXmlApplicationContext("applicationContext.xml"); PeopleService peopleService = (PeopleService) ctx.getBean("peopleServiceBeanFactory2"); peopleService.save(); }
<bean id="peopleService" class="com.tiger.service.imple.PeopleServiceBean"></bean> <bean id="peopleServiceBeanFactory" class="com.tiger.service.imple.PeopleServiceBeanFactory"></bean> <bean id="peopleServiceBeanFactory2" factory-bean="peopleServiceBeanFactory" factory-method="createPeopleServiceBean2"></bean>
package com.tiger.service.imple; public class PeopleServiceBeanFactory { public static PeopleServiceBean createPeopleServiceBean() { return new PeopleServiceBean(); } public PeopleServiceBean createPeopleServiceBean2() { return new PeopleServiceBean(); } }
public class PeopleServiceBean implements PeopleService { public void save() { System.out.println("我是save()方法"); } }
结果:
我是save()方法