• 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" />



  • 相关阅读:
    1075: 聚餐人数统计
    1074: 百钱买百鸡
    1072: 青蛙爬井
    1073: 级数求和
    1071: 分解质因子
    1070: 小汽车的位置
    1068: 二进制数
    2019 牛客多校 第六场
    2019 牛客多校 第五场
    2019 牛客多校 第二场
  • 原文地址:https://www.cnblogs.com/moonlightpoet/p/5537214.html
Copyright © 2020-2023  润新知