spring的三种实例化bean方式

来源:互联网 发布:加拿大研究生留学 知乎 编辑:程序博客网 时间:2024/05/21 19:44

1 使用类构造器实例化

<span style="font-family:SimHei;font-size:18px;">package com.sxt.domain;public class Bean {private String name;public Bean( ) {<span style="white-space:pre"></span> <span style="white-space:pre"></span> }public Bean(String name) { <span style="white-space:pre"></span>this.name = name;}public String getName() {<span style="white-space:pre"></span>return name;}public void setName(String name) {<span style="white-space:pre"></span>this.name = name;}}</span>

<span style="font-family:SimHei;font-size:18px;"> <bean id="bean" class="com.sxt.domain.Bean">   </bean> </span>

2 使用静态工厂方法实例化

<span style="font-family:SimHei;font-size:18px;">package com.sxt.domain;public class BeanStaticFactory {public static Bean createStaticFactory(){return new Bean("wl");}}</span>



   

<span style="font-family:SimHei;font-size:18px;">  <bean id="beanStaticFactory" class="com.sxt.domain.BeanStaticFactory" factory-method="createStaticFactory">          </bean></span>


3 使用实例化工厂方法实例化


<span style="font-family:SimHei;font-size:18px;">package com.sxt.domain;public class BeanStaticFactory { public Bean createFactory(){return new Bean("wl");}}</span>

<span style="font-family:SimHei;font-size:18px;">  <bean id="factoryBean" class="com.sxt.domain.BeanStaticFactory"> </bean>      <bean id="factory" factory-bean="factoryBean" factory-method="createFactory">    </bean></span>

测试代码

<span style="font-family:SimHei;font-size:18px;">     Bean bean=(Bean)factory.getBean("bean");System.out.println(bean.getName()); Bean bean2=(Bean)factory.getBean("beanStaticFactory");System.out.println(bean2.getName());Bean bean3=(Bean)factory.getBean("factory");System.out.println(bean3.getName());</span>


打印结果

 

<span style="font-family:SimHei;font-size:18px;">nullwlwl</span>

以上三种方式bean必须有默认的构造方法,否则会报错。






0 0
原创粉丝点击