spring中bean的一些知識點

2022-09-23 11:57:08 字數 1372 閱讀 3298

知識點1:

例項化bean的3種方法。

1.      使用類構造器 (90%用這個方法)    

2.      使用靜態工廠方法

3.      使用例項化工廠  

知識點2:

看這段**

applicationcontextcontext=new classpathxmlapplicationcontext("spring.xml");

person p=(person) context.getbean("fish");

p.setname("aaa");

p.setid("13");

system.out.println(p.getname()+p.getid());//結果是aaa 13

person p2=(person) context.getbean("fish");

p2.setname("bbb");

p2.setid("14");

system.out.println(p2.getname()+p2.getid()); //結果是bbb 14

system.out.println(p.getname()+p.getid());//結果是bbb 14  

這說明了一件事p=p2也就是說兩個是同乙個物件。  

那麼如何讓bean每次都建立不同的物件呢  

在scope裡面新增這個屬性。這樣就建立不同的物件了。

所以這次相同的上面**輸出的結果是

結果是aaa 13

結果是bbb 14

結果是aaa 13

說明物件已經不是同乙個了。  

這裡說一下bean的作用域範圍有singleton,prototype,request,session  

如果是預設情況下singleton:在例項化容器的時候,你就bean中的類就已經被例項化了。

但是如果是prototype:你在person p2=(person) context.getbean("fish");

才會被例項化。

當然我們可以通過手工的方法也可以延遲例項化的時間。

lazy-init="true"

如果spring不停止,那麼bean就不會銷毀。  

知識點3:對bean的屬性如何依賴注入:

1.     構造器賦值  

如何利用構造器賦值呢:  

index表示為第幾個屬性賦值。o表示第乙個引數  name是你的屬性名,ref是對引用型別賦值,type是值的型別,如果是一般型別就用value

2.     利用set方法:在上面一篇《利用set方法的注入》已經詳細說了。

3.     利用field  用於註解方式  

依賴注入有兩種方式,一種是手工裝配,和自定裝配。不過建議手工裝配。

spring中的一些註解

component是類的通用註解,將bean注入spring容器中 scope是類的作用域註解,用於規定類的作用域 repository是dao層的註解,告訴spring這是持久層 service是service層的註解,告訴spring這是業務邏輯層的 controller是controller層...

Spring學習中用到的一些物件導向的知識

目錄 1.構造方法 1.1 構造方法概述 理解 1.2 構造方法的注意事項 理解 1.3 標準類製作 應用 2 static 應用 2.1 static訪問特點 掌握 3.反射 3.1反射的概述 理解 3.2獲取class類物件的三種方式 應用 3.2.1三種方式分類 3.2.2示例 3.3反射獲取...

一些flash memory SSD的基礎知識

很久沒更新blog了。前一陣子經歷了人生第一次跳槽,比想象中的艱難多了。畢竟是第乙份工作,離開還是挺傷感的。新的工作剛剛開始,希望一切順利。這篇blog是五一期間寫的,今天正式貼出來。寫技術blog是個好習慣,我要保持!在前東家的時候,一直很想去嘗試一下flash ssd,可惜由於各種原因到今天也沒...