<?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-->
<bean id="personservice1" class="com.binyong.service.PersonServiceBean"></bean>
<!--第二种方式:通过静态工厂方法实例化Bean-->
<!--注意:用这种方式实例化Bean时,工厂方法必须是static的-->
<bean id="personservice2" class="com.binyong.service.impl.PersonServiceBeanFactory" factory-method="createPersonServiceBean"></bean>
<!--第三种方式:通过调用工厂实例的工厂方法实例化Bean,该方法可以不是static的-->
<!--注意:这种方式实例化Bean时,必须先实例化工厂Bean-->
<bean id="PersonServiceBeanFactory" class="com.binyong.service.impl.PersonServiceBeanFactory"></bean>
<bean id="personservice3" factory-bean="PersonServiceBeanFactory" factory-method="createPersonServiceBean2"></bean>
</beans>
获取Bean的代码:
ApplicationContext ctx = new ClassPathXmlApplicationContext(new String[]{"beans.xml"});
PersonServiceBean psb = (PersonServiceBean)ctx.getBean("personservice1");