在Spring中实现一个单例bean

Jon*_*Jon 0 singleton spring spring-mvc

我正在尝试使用Spring为我的网站创建一个缓存类,并将以下代码添加到我的applicationContect.xml文件中:

<bean id="SiteCache" class="Cache.SiteCache">
Run Code Online (Sandbox Code Playgroud)

我不确定的是如何初始化这个类.我是否需要自己初始化它,或者当网站加载时Spring会处理它吗?如果是这样,我将如何接受构造函数中的参数?

我希望这个类大部分时间都可以使用,作为访问变量来填充站点的一种更快的方法,但我需要一种方法来检查是否有一个实例,以便我可以加载XML文件来自其他来源.

在春天实现缓存的最佳方法是什么?

非常感谢,

Tom*_*icz 5

我不确定的是如何初始化这个类.

默认情况下(提供您的定义)Spring将只创建一个bean实例,并在其他代码需要的地方使用它.

我如何接受构造函数中的参数?

查看4.4.1.1基于构造函数的依赖注入:

<bean id="foo" class="x.y.Foo">
  <constructor-arg ref="bar"/>
  <constructor-arg value="42"/>
</bean>
Run Code Online (Sandbox Code Playgroud)

4.4.2.7带有c命名空间的XML快捷方式:

<bean id="foo" class="x.y.Foo" c:_0-ref="bar" c:_1-ref="baz">
Run Code Online (Sandbox Code Playgroud)

在春天实现缓存的最佳方法是什么?

使用内置的Spring缓存抽象是一个好的开始.