上篇文章已经谈了Spring-reference.pdf" />《Spring Framework 开发参考手册》的3.2.4小节——《Bean的标志符(id与name)》,现在继续3.2.5小节——《Singleton的使用与否》。 文档已经把Singleton说的很清楚了,这里也不废话了。主要是了解在Spring中,默认的部署方式是Singleton,没有特别需要的话,一般使用Singleton。 相关软件的配置可以参考《快速上手Spring--2.HelloWorld(1)》。这里还是以HelloBean为例,这三个文件都放在包javamxj.Spring.basic.Singleton下。·HelloBean 这里多加了属性i,用它得到随机数。hellobean.javapackage javamxj.Spring.basic.Singleton;public class hellobean { private string helloworld; private int i = (int) (100 * math.random()); public hellobean(string helloworld) { this.helloworld = helloworld; } public void sayhello() { system.out.println(helloworld); system.out.println("输出随机整数: " + i); }}· 配置文件 在这个Beans中,定义了两个bean,都指向HelloBean类,主要不同就是第二个bean指明了Singleton="false",即不采用Singleton部署方式。bean.xml Spring/dtd bean/en" "http://www.Springframework.org/dtd/Spring-beans.dtd"> Singletonbean" class="javamxj. Spring.basic. Singleton.hellobean"> hello! 这是 Singletonbean! Spring.basic. Singleton.hellobean" Singleton="false"> hello! 这是prototypebean! · 测试程序: 分别取得SingletonBean和prototypeBean各两个实例,然后输出随机数,最后比较同一个bean的两个实例的引用是否相同。main.javapackage javamxj.Spring.basic.Singleton;import org.Springframework.beans.factory.beanfactory;import org.Springframework.beans.factory.xml.xmlbeanfactory;import org.Springframework.core.io.classpathresource;import org.Springframework.core.io.resource;public class main { public static void main(string[] args) { resource res = new classpathresource("javamxj/Spring/basic/Singleton/bean.xml"); beanfactory factory = new xmlbeanfactory(res); hellobean h1 = (hellobean) factory.getbean("Singletonbean"); h1.sayhello(); hellobean h2 = (hellobean) factory.getbean("Singletonbean"); h2.sayhello(); system.out.println("h1==h2: " + (h1==h2)); system.out.println(""); hellobean h3 = (hellobean) factory.getbean("prototypebean"); h3.sayhello(); hellobean h4 = (hellobean) factory.getbean("prototypebean"); h4.sayhello(); system.out.println("h3==h4: " + (h3==h4)); }}·运行,控制台输出:Hello! 这是SingletonBean!输出随机整数: 7Hello! 这是SingletonBean!输出随机整数: 7h1==h2: trueHello! 这是prototypeBean! 输出随机整数: 95Hello! 这是prototypeBean! 输出随机整数: 60h3==h4: false·这篇文章和上篇文章的源代码下载(不包含库文件):http://free.ys168.com/?javamxj Spring目录下面的SpringBasic.zip。
<script type="text/javascript"> </script> <script type="text/javascript" src="http://pagead2.googlesyndication.com/pagead/show_ads.js"> </script>快速上手Spring--6. Singleton的使用与否
最新推荐文章于 2024-09-21 00:43:01 发布
<script type="text/javascript">
</script> <script type="text/javascript" src="http://pagead2.googlesyndication.com/pagead/show_ads.js"> </script>
<script type="text/javascript">
</script><script type="text/javascript" src="http://pagead2.googlesyndication.com/pagead/show_ads.js"> </script>
<script type="text/javascript">
</script><script type="text/javascript" src="http://pagead2.googlesyndication.com/pagead/show_ads.js"> </script>