1. 在核心配置文件中使用bean标签
<bean id="personDao" class="cn.offcn.dao.impl.PersonDaoImpl"></bean>
2. 以工厂的静态方法进行实例化
public class BeanFactory {
public static PersonDao createPersonDao(){
return new PersonDaoImpl();
}
}
<bean id="personDao2" class="cn.offcn.factory.BeanFactory"
factory-method="createPersonDao"></bean>
3. 以工厂的非静态方法进行实例化
public PersonDao createPersonDao02(){
return new PersonDaoImpl();
}
<bean id="beanFactory" class="cn.offcn.factory.BeanFactory"></bean>
<bean id="personDao3" factory-bean="beanFactory"
factory-method="createPersonDao02"></bean>
测试:
@Test
public void testAddPerson(){
ApplicationContext ctx= new ClassPathXmlApplicationContext("applicationContext.xml");
PersonDao personDao=(PersonDao)ctx.getBean("personDao");
personDao.savePerson("李四");
}
@Test
public void testBeanFactory01(){
ApplicationContext ctx= new ClassPathXmlApplicationContext("applicationContext.xml");
PersonDao personDao=(PersonDao)ctx.getBean("personDao2");
personDao.savePerson("赵六");
}
@Test
public void testBeanFactory02(){
ApplicationContext ctx= new ClassPathXmlApplicationContext("applicationContext.xml");
PersonDao personDao=(PersonDao)ctx.getBean("personDao3");
personDao.savePerson("田七");
}