Spring学习笔记--通过构造方法创建Bean

Posted 月光诗人

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Spring学习笔记--通过构造方法创建Bean相关的知识,希望对你有一定的参考价值。

如果一个bean没有默认的构造函数,那么可以通过工厂方法来构造一个bean。Spring通过<bean>元素的factory-method属性来装配工厂创建的Bean。
下面例子中的Stage是一个工厂类,通过它的getInstance()方法可以获得一个单例,但是他没有共有的构造函数,所以在构造Bean的时候需要通过工厂方法getInstance()来获得一个实例Bean。
Stage类作为单例类来实现。

package com.moonlit.myspring;

public class Stage {
    private Stage() {
    }
    private static class StageSingletonHolder {
        static Stage instance = new Stage();
    }
    public static Stage getInstance() {
        return StageSingletonHolder.instance;
    }
}

在xml文件中的配置如下:

  <bean id="theStage" class="com.moonlit.myspring.Stage" factory-method="getInstance" />

 Bean的作用域
所有的Spring Bean默认都是单例。为了让Spring在每次请求时都为Bean产生一个新的实例,我们需要配置bean的scope属性为prototype。

  <bean id="theStage" class="com.moonlit.myspring.Stage" factory-method="getInstance" scope="prototype" />

 



以上是关于Spring学习笔记--通过构造方法创建Bean的主要内容,如果未能解决你的问题,请参考以下文章

Spring4学习笔记 - Bean的生命周期

Spring4.0学习笔记 —— 管理bean的生命周期

Java Spring学习笔记----Bean的依赖注入

spring入门篇-学习笔记

Spring学习笔记5 - Bean定义继承

Spring学习笔记--构造器注入