一分鐘理解 Scope註解

2021-10-23 10:23:04 字數 1153 閱讀 7815

今天主要從以下幾方面來介紹一下@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年以來,中國線下易貨店開始了矇眼狂奔,在河南南陽...