日本不卡不码高清免费观看,久久国产精品久久w女人spa,黄色aa久久,三上悠亚国产精品一区二区三区

您的位置:首頁(yè)技術(shù)文章
文章詳情頁(yè)

Spring中的singleton和prototype的實(shí)現(xiàn)

瀏覽:30日期:2023-08-25 13:47:06

關(guān)于spring bean作用域,基于不同的容器,會(huì)有所不同,如BeanFactory和ApplicationContext容器就有所不同,在本篇文章,主要講解基于ApplicationContext容器的bean作用域。

關(guān)于bean的作用域,在spring中,主要包括singleton,prototype,session,request,global,本篇文章主要講解常用的兩種,即:singleton和prototype.

一 singleton

singleton為單例模式,即scope='singleton'的bean,在容器中,只實(shí)例化一次。

dao示例代碼:

package com.demo.dao;public class UserDao { public UserDao(){ System.out.println('UserDao 無參構(gòu)造函數(shù)被調(diào)用'); } //獲取用戶名 public String getUserName(){ //模擬dao層 return 'Alan_beijing'; }}

applicationContext.xml

<?xml version='1.0' encoding='UTF-8'?><beans xmlns='http://www.springframework.org/schema/beans' xmlns:xsi='http://www.w3.org/2001/XMLSchema-instance' xsi:schemaLocation='http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans.xsd'> <bean scope='singleton'/></beans>

test:

public class MyTest { @Test public void test(){ //定義容器并初始化 ApplicationContext applicationContext = new ClassPathXmlApplicationContext('applicationContext.xml'); //定義第一個(gè)對(duì)象 UserDao userDao = applicationContext.getBean(UserDao.class); System.out.println(userDao.getUserName()); //定義第二個(gè)對(duì)象 UserDao userDao2 = (UserDao) applicationContext.getBean('userDao'); System.out.println(userDao2.getUserName()); //比較兩個(gè)對(duì)象實(shí)例是否是同一個(gè)對(duì)象實(shí)例 System.out.println('第一個(gè)實(shí)例:'+userDao+'n'+'第二個(gè)實(shí)例:'+userDao2); }}

測(cè)試結(jié)果:

Spring中的singleton和prototype的實(shí)現(xiàn)

分析:在測(cè)試代碼中,將bean定義為singleton,并先后2次通過ApplicationContext的getBean()方法獲取bean(userDao),卻返回相同的實(shí)例對(duì)象:com.demo.dao.UserDao@27a5f880,仔細(xì)觀察,雖然獲取bean兩次,但是UserDao的無參構(gòu)造函數(shù)卻只被調(diào)用一次,這也證明了在容器中,singleton實(shí)際只被實(shí)例化一次,需要注意的是,Singleton模式的bean,ApplicationContext加載bean時(shí),就實(shí)例化了bean。

定義bean:

Spring中的singleton和prototype的實(shí)現(xiàn)

測(cè)試結(jié)果:

如下代碼只是加載bean,卻沒調(diào)用getBean方法獲取bean,但UserDao卻被調(diào)用了一次,即實(shí)例化。

Spring中的singleton和prototype的實(shí)現(xiàn)

二 prototype

prototype即原型模式,調(diào)用多少次bean,就實(shí)例化多少次。

將singleton代碼改為原型

<?xml version='1.0' encoding='UTF-8'?><beans xmlns='http://www.springframework.org/schema/beans' xmlns:xsi='http://www.w3.org/2001/XMLSchema-instance' xsi:schemaLocation='http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans.xsd'> <bean scope='prototype'/></beans>

測(cè)試代碼與singleton一樣,但結(jié)果卻不一樣:

Spring中的singleton和prototype的實(shí)現(xiàn)

分析:通過測(cè)試結(jié)果,不難發(fā)現(xiàn),調(diào)用兩次bean,就實(shí)例化兩次UserDao對(duì)象,且對(duì)象不一樣,需要注意的是,prototype類型的bean,只有在獲取bean時(shí),才會(huì)實(shí)例化對(duì)象。

三 singleton和prototype區(qū)別

(1)singleton在容器中,只被實(shí)例化一次,而prototype在容器中,調(diào)用幾次,就被實(shí)例化幾次;

(2)在AppplicationContext容器中,singleton在applicaitonContext.xml加載時(shí)就被預(yù)先實(shí)例化,而prototype必須在調(diào)用時(shí)才實(shí)例化

singleton:

定義bean:

Spring中的singleton和prototype的實(shí)現(xiàn)

測(cè)試:

Spring中的singleton和prototype的實(shí)現(xiàn)

prototype:

定義bean:

Spring中的singleton和prototype的實(shí)現(xiàn)

測(cè)試:不調(diào)用

Spring中的singleton和prototype的實(shí)現(xiàn)

測(cè)試:調(diào)用

Spring中的singleton和prototype的實(shí)現(xiàn)

4.singleton比prototype消耗性能,在web開發(fā)中,推薦使用singleton模式,在app開發(fā)中,推薦使用prototype模式。

到此這篇關(guān)于Spring中的singleton和prototype的實(shí)現(xiàn)的文章就介紹到這了,更多相關(guān)Spring singleton和prototype內(nèi)容請(qǐng)搜索好吧啦網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持好吧啦網(wǎng)!

標(biāo)簽: Spring
相關(guān)文章:
日本不卡不码高清免费观看,久久国产精品久久w女人spa,黄色aa久久,三上悠亚国产精品一区二区三区
日韩福利视频一区| 国产精品欧美三级在线观看| 国产毛片精品久久| 婷婷精品久久久久久久久久不卡| 一区视频在线| 色婷婷精品视频| www.九色在线| 色在线中文字幕| 欧美日韩国产一区精品一区| 91精品综合| 米奇777超碰欧美日韩亚洲| 欧美freesex黑人又粗又大| 精品国产网站| 久久久久久网| 毛片在线网站| 福利一区二区免费视频| 国产在线观看91一区二区三区| 国产美女高潮在线| 亚洲一级影院| 日本午夜精品久久久久| 国产一区丝袜| 亚洲一区日韩| 日本综合视频| 国产精品**亚洲精品| 欧美激情国产在线| 欧美日韩亚洲在线观看| 99国产精品久久久久久久| 婷婷视频一区二区三区| 国产精品三级| 日本不良网站在线观看| 久久亚洲精精品中文字幕| 黄色网一区二区| 久热综合在线亚洲精品| 久久av影院| 国产精品免费看| 久久精品毛片| 蜜乳av另类精品一区二区| 国产精品免费不| 久久免费黄色| 欧美日韩1区| 久久久久一区| 美女视频黄久久| 欧美日韩国产亚洲一区| 91成人精品在线| 激情国产在线| 亚洲视频二区| 国产黄大片在线观看| 在线午夜精品| 美女福利一区二区三区| 久久久精品午夜少妇| 亚洲精品黄色| 最近高清中文在线字幕在线观看1| 亚洲伊人影院| 日本美女一区| 日韩在线观看中文字幕| 日韩精品午夜| 国产精品1区| 日本视频在线一区| 视频一区二区中文字幕| аⅴ资源天堂资源库在线| 综合国产精品| 亚洲欧洲另类| 99国产精品免费视频观看| 美女久久精品| 麻豆精品视频在线观看视频| 蜜臀久久99精品久久久画质超高清| 欧美不卡高清一区二区三区| 精品高清久久| 精品国产午夜肉伦伦影院| 日韩激情啪啪| 日本麻豆一区二区三区视频| 日韩中文字幕不卡| 久久亚洲色图| 亚洲免费一区二区| 欧美女激情福利| 午夜亚洲福利在线老司机| 久久三级毛片| 四季av一区二区凹凸精品| 国内一区二区三区| 中文一区一区三区高中清不卡免费| 国产成年精品| 久久婷婷久久| 午夜在线视频一区二区区别| 日韩中文字幕麻豆| 欧美三区不卡| 成人黄色av| 免费视频亚洲| 日韩av一级片| 成人午夜网址| 欧美va天堂| 亚洲久草在线| 婷婷久久免费视频| 精品一区二区男人吃奶| 伊伊综合在线| 免费不卡在线观看| 国产伦精品一区二区三区千人斩| 日本久久综合| 国产精品日韩欧美一区| 久久国产人妖系列| 精品九九久久| 99视频精品| 国产精品香蕉| 久久久久亚洲| 欧美日韩精品一区二区三区视频 | 国产欧美88| 免费一级欧美片在线观看网站| 麻豆91精品91久久久的内涵| 亚洲欧美专区| 91伊人久久| 亚洲1234区| 国产精品一区二区av日韩在线| 欧美国产91| 国产成人免费| 日韩av成人高清| 91精品综合| 老司机精品视频在线播放| 免播放器亚洲| www成人在线视频| 美女久久久久久| 婷婷激情综合| 久久久久亚洲精品中文字幕| 亚洲精品极品| 久久午夜精品一区二区| 99精品视频在线观看免费播放| 美女精品视频在线| 日本精品久久| 亚洲影视一区二区三区| 午夜久久福利| 欧美日韩国产在线一区| 国产精品字幕| 亚洲va中文在线播放免费| 国产精久久久| 国产一区精品福利| 免费一级欧美片在线观看网站 | 一区二区精品伦理...| 国产精品成人自拍| 国产乱子精品一区二区在线观看| 蜜臀av国产精品久久久久| 久久精品国产www456c0m| 日本综合字幕| 激情欧美一区二区三区| 色婷婷久久久| 激情五月综合| 欧美粗暴jizz性欧美20| 红桃视频欧美| 中文字幕亚洲影视| 男女男精品网站| 日韩av资源网| 精品美女久久| 久久要要av| 亚洲日韩视频| 国产精品极品| 日韩欧美一区免费| 99在线精品免费视频九九视| 蜜臀av在线播放一区二区三区 | 高潮一区二区| 国产精品老牛| 久久99国产精品视频| 久久夜夜操妹子| 国产亚洲午夜| 欧美日韩亚洲三区| 韩国一区二区三区视频| 久久亚洲在线| 日韩av网站免费在线| 日韩欧美二区| 日韩精品1区2区3区| 亚洲黄色免费av| 日本亚洲视频在线| 最新中文字幕在线播放| 亚欧洲精品视频在线观看| www.51av欧美视频| 日韩在线黄色| 婷婷成人基地| 国产中文字幕一区二区三区| 1000部精品久久久久久久久| 亚洲综合色婷婷在线观看| 久久精品一本| 男人的天堂亚洲一区| 五月激情久久| 欧美激情日韩| 日本91福利区| 亚洲免费专区| 欧美特黄一区| 欧美日韩精品免费观看视完整| 日韩精品免费视频一区二区三区| 亚洲性色av| 国产精品福利在线观看播放| 青青国产91久久久久久| 一区二区视频欧美| 日韩影院二区| 日韩不卡一区二区| 亚洲综合婷婷| 亚洲性视频在线| 中文视频一区| 爽好多水快深点欧美视频| 久久高清免费| av高清一区| 99精品视频在线| 99精品一区| 激情综合亚洲|