zoukankan      html  css  js  c++  java
  • Spring 实例化bean的方式

    实例化bean的方式有三种: 

      1、用构造器来实例化

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

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

    采用构造器来创建bean实例时,Spring对class并没有特殊的要求, 我们通常使用的class都适用

      基于XML的元数据配置文件,可以这样来指定bean类:

    采用静态工厂方法创建bean时,除了需要指定class 属性外,还需要通过factory-method属性来指定创建bean实例 的工厂方法。Spring将调用此方法(其可选参数接下来介绍)返回实例对象,就此而言, 跟通过普通构造器创建类实例没什么两样。

    <bean id="exampleBean"  class="examples.ExampleBean2" factory-method="createInstance"/>
    注意,此定义并 未指定返回对象的类型,仅指定该类包含的工厂方法。在此例中, createInstance()必须是一个static方法。


    使用静态工厂方法实例化类似,用来进行实例化的非静态实例工厂方法位 于另外一个bean中,容器将调用该bean的工厂方法来创建一个新的bean实例。为使 用此机制,class属性必须为空,而factory-bean 属性必须指定为当前(或其祖先)容器中包含工厂方法的bean的名称,而该 工厂bean的工厂方法本身必须通过factory-method属性来设定。

    1 <!-- the factory bean, which contains a method called createInstance() -->
    2 <bean id="serviceLocator" class="com.foo.DefaultServiceLocator">
    3   <!-- inject any dependencies required by this locator bean -->
    4 </bean>
    5 
    6 <!-- the bean to be created via the factory bean -->
    7 <bean id="exampleBean"
    8       factory-bean="serviceLocator"
    9       factory-method="createInstance"/>
     
  • 相关阅读:
    博客索引
    【转载】学习顺序:顶级会议 ----> 顶级期刊 ------> 基础教材(博客) / 论文复现
    【神游篇00】关于自己的日常学习记录
    【1】ML简介
    【2】Neural Network学习
    【1】NNDL简介
    【1】Deep Learning简介
    【1】PRML简介
    【1】BRML简介
    图集压缩,,命令行工具
  • 原文地址:https://www.cnblogs.com/liuwt365/p/4224705.html
Copyright © 2011-2022 走看看