创建Bean的三种方式

大多数情况下,Spring容器直接通过new关键字调用构造器来创建Bean实例,而class属性指定了Bean实例的实现类。因此,<bean/>元素必须指定Bean实例的class属性,但这并不是实例化Bean的唯一方法。
    Spring支持使用如下方式来创建Bean:
    1.调用构造器创建Bean
    2.调用静态工厂方法创建Bean
   
<!--下面配置驱动Spring调用工厂类BeingFactory的静态方法staticMethod()来创建           
    Bean,该配置会驱动Spring以反射方式执行如下代码:
    dog=BeanFactory.staticMethod("dog");
    -->
     <bean id="dog" class="BeingFactory" factory-method="staticMethod">
          <!--配置静态工厂方法的参数-->
          <constructor-arg value="dog"/>
          <!--驱动Spring以"我是狗"为参数来执行dog的setMsg()方法-->
          <property name="msg" value="我是狗"/>
     </bean>

     此处省略了接口being,其实现类Dog(包含setMsg()方法),以及静态工厂类   BeingFactory(包含静态方法staticMethod())
    3.调用实例工厂方法创建Bean
      只需将2中的静态方法改为实例方法即可(方法不含static),其他类似。
   

猜你喜欢

转载自jiangchao89911.iteye.com/blog/2342711