在/cn下有一个文件(但是这个可以从其他方法中抽取出来)PersonService.java
package cn;
public interface PersonService {
public abstract void save();
}
在/cn/imp文件夹下有三个java文件
PersonServiceBean.java
package cn.imp;
import cn.PersonService;
public class PersonServiceBean implements PersonService {
/* (non-Javadoc)
* @see cn.imp.PersonService#save()
*/
public void save()
{
System.out.println("我是save方法");
}
}
PersonServiceBeanFactory.java
package cn.imp;
public class PersonServiceBeanFactory {
public static PersonServiceBean createPersonServiceBean()
{
return new PersonServiceBean();
}
}
PersonServiceBeanFactory2.java
package cn.imp;
public class PersonServiceBeanFactory2 {
public PersonServiceBean createPersonServiceBean()
{
return new PersonServiceBean();
}
}
建立一个测试用test
在junit.test下面SpringTest.java
package junit.test;
import org.junit.Test;
import org.springframework.context.ApplicationContext;
import org.springframework.context.support.ClassPathXmlApplicationContext;
import cn.imp.PersonServiceBean;
public class SpringTest
{
@Test
public void instanceSpring()
{
ApplicationContext ctx=new ClassPathXmlApplicationContext(new String[]{"beans.xml"});
PersonServiceBean personServiceBean=(PersonServiceBean) ctx.getBean("personService");
personServiceBean.save();
PersonServiceBean personServiceBean2=(PersonServiceBean) ctx.getBean("personService2");
personServiceBean2.save();
PersonServiceBean personServiceBean3=(PersonServiceBean) ctx.getBean("personService3");
personServiceBean3.save();
}
}
在src文件夹下面有个配置文件
beans.xml
<?xml version="1.0" encoding="UTF-8"?> <beans xmlns="http://www.springframework.org/schema/beans" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans-2.5.xsd"> <bean id="personService" class="cn.imp.PersonServiceBean"></bean> <bean id="personService2" class="cn.imp.PersonServiceBeanFactory" factory-method="createPersonServiceBean"> </bean> <bean id="personServiceFactory2" class="cn.imp.PersonServiceBeanFactory2"></bean> <bean id="personService3" factory-bean="personServiceFactory2" factory-method="createPersonServiceBean"> </bean> </beans>