Spring Bean 配置与依赖注入详解
1. 单例 Bean 配置
在某些场景下,我们希望确保某个类只有一个实例。例如在一场表演中,舞台只能有一个。为了实现这一点,我们可以将 Stage
类实现为单例模式:
private static class StageSingletonHolder {
static Stage instance = new Stage();
}
public static Stage getInstance() {
return StageSingletonHolder.instance;
}
由于 Stage
类没有公共构造函数,我们不能直接使用构造函数来创建实例。不过,Spring 的 <bean>
元素提供了 factory-method
属性,允许我们指定一个静态方法来创建实例:
<bean id="theStage"
class="com.springinaction.springidol.Stage"
factory-method="getInstance" />
这样,每次获取 theStage
这个 Bean 时,都会得到同一个 Stage
实例。