1 使用构造器实例化
<!-- 调用默认构造器实现 可以使用scope="prototype"指定是否使用单例模式 -->
<bean id="personService" class="com.heying.service.impl.PersonServiceBean"/>
2 使用静态工厂
<!-- 通过id找到创建的工厂类,并使用注明的静态方法找到相应的method -->
<bean id="personService" class="com.heying.service.impl.PersonServiceBeanFactory" factory-method="creatPersonServiceBean"/>
public class PersonServiceBeanFactory{
public static PersonServiceBean creatPersonServiceBean(){
return new PersonServiceBean();
}
}
3 使用实例工厂
<!-- 实例化PersonServiceBeanFactory,然后使用工厂里面指定的方法创建 -->
<bean id="personServiceFactory" class="com.heying.service.impl.PersonServiceBeanFactory"/>
<bean id="personService" factory-bean="personServiceFactory" factory-method="creatPersonServiceBean"/>
public class PersonServiceBeanFactory{
public PersonServiceBean creatPersonServiceBean(){
return new PersonServiceBean();
}
}
装配:
AbstractApplicationContext applicationContext = new ClassPathXmlApplicationContext("beans.xml");
PersonService personService = (PersonService) applicationContext.getBean("personService");
personService.save();