国产一级a片免费看高清,亚洲熟女中文字幕在线视频,黄三级高清在线播放,免费黄色视频在线看

打開APP
userphoto
未登錄

開通VIP,暢享免費(fèi)電子書等14項(xiàng)超值服

開通VIP
快速上手Spring--6. Singleton的使用與否
   上篇文章已經(jīng)談了《Spring Framework 開發(fā)參考手冊(cè)》的3.2.4小節(jié)——《Bean的標(biāo)志符(id與name)》,現(xiàn)在繼續(xù)3.2.5小節(jié)——《Singleton的使用與否》。
  
   文檔已經(jīng)把Singleton說(shuō)的很清楚了,這里也不廢話了。主要是了解在Spring中,默認(rèn)的部署方式是Singleton,沒有特別需要的話,一般使用Singleton。
 
   相關(guān)軟件的配置可以參考《快速上手Spring--2.HelloWorld(1)》。
 
   這里還是以HelloBean為例,這三個(gè)文件都放在包javamxj.spring.basic.singleton下。
 
· HelloBean 
   這里多加了屬性i,用它得到隨機(jī)數(shù)。
HelloBean.java
package 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("輸出隨機(jī)整數(shù):  " + i);
    }
}
 
· 配置文件
    在這個(gè)Beans中,定義了兩個(gè)bean,都指向HelloBean類,主要不同就是第二個(gè)bean指明了singleton="false",即不采用singleton部署方式。
bean.xml
<?xml version="1.0" encoding="GBK"?>
<!DOCTYPE beans PUBLIC "-//SPRING/DTD BEAN/EN"
"http://www.springframework.org/dtd/spring-beans.dtd">

<beans>
    <bean id="singletonBean" class="javamxj.spring.basic.singleton.HelloBean">
        <constructor-arg>
            <value>Hello! 這是singletonBean!</value>
        </constructor-arg>
    </bean>

   
<bean id="prototypeBean" class="javamxj.spring.basic.singleton.HelloBean"
        singleton="false">
        <constructor-arg>
            <value>Hello! 這是prototypeBean! </value>
        </constructor-arg>
    </bean>

</beans>
 
 
· 測(cè)試程序:
   分別取得singletonBean和prototypeBean各兩個(gè)實(shí)例,然后輸出隨機(jī)數(shù),最后比較同一個(gè)bean的兩個(gè)實(shí)例的引用是否相同。
Main.java
package 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));
    }
}
 
 
 ·運(yùn)行,控制臺(tái)輸出:
Hello! 這是singletonBean!
輸出隨機(jī)整數(shù):  7
Hello! 這是singletonBean!
輸出隨機(jī)整數(shù):  7
h1==h2: true
 
Hello! 這是prototypeBean!
輸出隨機(jī)整數(shù):  95
Hello! 這是prototypeBean!
輸出隨機(jī)整數(shù):  60
h3==h4: false
 
 
 
·這篇文章和上篇文章的源代碼下載(不包含庫(kù)文件):http://free.ys168.com/?javamxj  Spring目錄下面的SpringBasic.zip。
本站僅提供存儲(chǔ)服務(wù),所有內(nèi)容均由用戶發(fā)布,如發(fā)現(xiàn)有害或侵權(quán)內(nèi)容,請(qǐng)點(diǎn)擊舉報(bào)。
打開APP,閱讀全文并永久保存 查看更多類似文章
猜你喜歡
類似文章
Spring 是怎么解決循環(huán)依賴的?
spring threadlocal 保證線程安全
快速上手spring(1 - 6)
一個(gè)spring的簡(jiǎn)單例子
PropertyPlaceholderConfigurer的用法講解
博客開張:用Spring ActiveMQ Jencks開發(fā)消息驅(qū)動(dòng)POJO-Jamsa ...
更多類似文章 >>
生活服務(wù)
分享 收藏 導(dǎo)長(zhǎng)圖 關(guān)注 下載文章
綁定賬號(hào)成功
后續(xù)可登錄賬號(hào)暢享VIP特權(quán)!
如果VIP功能使用有故障,
可點(diǎn)擊這里聯(lián)系客服!

聯(lián)系客服