今天主要從以下幾方面來介紹一下@scope註解
@scope註解是springioc容器中的乙個作用域,在 spring ioc 容器中具有以下幾種作用域:基本作用域singleton(單例)、prototype(多例),web 作用域(reqeust、session、globalsession),自定義作用域
直接在bean物件方法上增加@scope註解就可以如下:
/**
* 定義乙個bean物件
* @return
*/@scope
@bean(value="user0",name="user0",initmethod="inituser",destroymethod="destroyuser")
public user getuser()
@scope註解預設singleton例項,singleton例項的意思不管你使用多少次在springioc容器中只會存在乙個例項,演示如下只列印了一次建立例項:
system.out.println("例項1 === "+bean2);
system.out.println("例項2 === "+bean3);
建立user例項
例項1 === user [username=張三, age=26]
例項2 === user [username=張三, age=26]
接下來把例項型別改為prototype如下:
@scope(value="prototype")
執行結果如下:
建立user例項
例項1 === user [username=張三, age=26]
建立user例項
例項2 === user [username=張三, age=26]
幾乎90%以上的業務使用singleton單例項就可以,所以spring預設的型別也是singleton,singleton雖然保證了全域性是乙個例項,對效能有所提高,但是如果例項中有非靜態變數時,會導致執行緒安全問題,共享資源的競爭
當設定為prototype時:每次連線請求,都會生成乙個bean例項,也會導致乙個問題,當請求數越多,效能會降低,因為建立的例項,導致gc頻繁,gc時長增加
一分鐘理解sdk
外語 software development kit 中文 軟體開發工具包 含義 一般都是一些軟體工程師為特定的軟體包 軟體框架 硬體平台 作業系統等建立應用軟體時的開發工具的集合。通俗 是指由第三方服務商提供的實現軟體產品某項功能的工具包。出現形式 一般以集合kpi和文件 範例 工具的形式出現 ...
一分鐘sed入門(一分鐘系列)
1.簡介 sed是一種行編輯器,它一次處理一行內容。2.sed呼叫方式 sed options command file s sed options f scriptfile file s 第一種直接在命令列中執行,第二種把命令寫到了指令碼中,二者無本質區別。示例 1 列印hello.txt的內容 ...
一分鐘看懂mysql 一分鐘,看懂易貨
從20世紀80年代開始,易貨公司在美國加拿大 澳大利亞等國興起,成為這些國家減少現金用量 增加銷售 減少庫存 開發新客戶 開闢新市場 促進經濟發展的重要產業。也成為了企業消化庫存商品 剩餘生產能力 無形資產的有效方式和在遭遇資金瓶頸時的新選擇。2015年以來,中國線下易貨店開始了矇眼狂奔,在河南南陽...