首页 > 代码库 > Spring 实例化bean的方式
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"/>
Spring 实例化bean的方式
声明:以上内容来自用户投稿及互联网公开渠道收集整理发布,本网站不拥有所有权,未作人工编辑处理,也不承担相关法律责任,若内容有误或涉及侵权可进行投诉: 投诉/举报 工作人员会在5个工作日内联系你,一经查实,本站将立刻删除涉嫌侵权内容。