三种实例化bean的方式
知识点:
【
1.使用类构造器实例化
<bean id="orderService" factory-method="createOrder"/>
public class OrderFactory {
public static OrderServiceBean createOrder(){
return new PersonServer();}
}
3.使用实例工厂方法实例化:
<bean id="personServiceFactory" factory-bean="personServiceFactory" factory-method="createOrder2"/>
public class OrderFactory {
public OrderServiceBean createOrder2(){
return new PersonServer();
}
}
】
照样实现步骤:(搭建环境见上)这里我三个一起测试了
第一步:编写接口
public interface IPersonServer {
public abstract void save();
}
第二步:实现接口
public class PersonServer implements IPersonServer {
public void save()
{
System.out.println("save is OK !");
}
}
第三步:这里使用了工厂让容器创建bean对象
public class BeanFactory {
public static PersonServer createOrder() {
return new PersonServer();
}
public PersonServer createOrder2(){
return new PersonServer();
}
}
第四步:编写beans.xml文件(放在src或lib目录)
<?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">
<!-- id="" 【id:于xmlId进行对应而且不包含特殊字符】,name=""使用特殊字符时使用name 都是用来表示这个bean -->
<!-- 注意:我们把bean 叫 给spring容器进行创建和维护我们只需从中获取bean 无需创建和维护 -->
<bean id="personservice" factory-method="createOrder"/>
<!-- 使用实例工厂方法实例化:- -->
<bean id="personserviceFactory" factory-bean="personserviceFactory" factory-method="createOrder2"/>
</beans>
第五步:编写单元测试
public class JUnitTest {
@Test
public void TestSave()
{
//得到Spring容器实例
ApplicationContext ctx = new ClassPathXmlApplicationContext("beans.xml");
//ApplicationContext ctx2 = new ClassPathXmlApplicationContext(new String[]{"beans.xml"});
//这里面向接口
IPersonServer server =(IPersonServer)ctx.getBean("personservice3");
server.save();
}
}
第六步:部署
在代码中:IPersonServer server =(IPersonServer)ctx.getBean("personservice3");
更改:ctx.getBean知识点:ctx.getBean(“id或name”)得到不同方式创建的bean对象
【
1.使用类构造器实例化
<bean id="orderService" factory-method="createOrder"/>
public class OrderFactory {
public static OrderServiceBean createOrder(){
return new PersonServer();}
}
3.使用实例工厂方法实例化:
<bean id="personServiceFactory" factory-bean="personServiceFactory" factory-method="createOrder2"/>
public class OrderFactory {
public OrderServiceBean createOrder2(){
return new PersonServer();
}
}
】
照样实现步骤:(搭建环境见上)这里我三个一起测试了
第一步:编写接口
public interface IPersonServer {
public abstract void save();
}
第二步:实现接口
public class PersonServer implements IPersonServer {
public void save()
{
System.out.println("save is OK !");
}
}
第三步:这里使用了工厂让容器创建bean对象
public class BeanFactory {
public static PersonServer createOrder() {
return new PersonServer();
}
public PersonServer createOrder2(){
return new PersonServer();
}
}
第四步:编写beans.xml文件(放