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的主要内容,如果未能解决你的问题,请参考以下文章