詳細介紹Spring的配置文件
1. Spring的配置文件的命名
答:Spring的配置文件是放在resources文件夾下面的,一般我們都會給他起一個默認的名字:
applicationContext.xml。如下圖所示:

2. Spring配置文件中有什么

上面的圖是最基本的Spring的配置文件的內容。下面將詳細介紹這個配置文件中的每一個標簽的使用方法。
1.在這個applicatinContext.xml文件中,通常最上面的是一串網址,這串網址會被起一個別名,這個別名就是一種約束信息。當你運行這個文件的時候,他會自己去這個地址的地方調用已經寫好的東西,并且遵守這個寫好的規(guī)則。
2.<bean>標簽的詳細解讀
<bean id="" class="">
<property name="" value=""/> <!--這是set注入-->
</bean>- <bean>標簽是用來創(chuàng)建對象的,跟我們最初學習的new一個對象是一樣的效果。
- <bean>標簽中的id表示的是將來你創(chuàng)建的對象的名字,是唯一的。
- class:表示的是你創(chuàng)建的這個對象的類是什么類型的,需要我們寫這個類的全名稱限定,(這個全名稱限定是從java包下開始寫這個類所在的包路徑)。此外:我們這里的類,一定不能是接口,因為接口本來不能new對象
- 若是<bean></bean>標簽對之間沒有任何內容,那么可以將<bean></bean>簡寫為<bean/>。
3. set注入
<bean id="" class="">
<property name="" value="" />
</bean>set注入是說,我們在創(chuàng)建這個bean對象的時候,給這個創(chuàng)建的對象的屬性賦值使用的是set方法。
所以說,我們使用set注入的方法創(chuàng)建對象的時候,必須要保證該類已經有set方法的存在。
set注入中的property標簽的name屬性:必須跟該類的屬性名保持一模一樣,因為Spring是會根據這個name的名字,去找對應的setName的set方法。
set注入中的property標簽的value屬性:表示的是給該對象的屬性賦值,value的值就是該對象的屬性的值,但這里要注意,value屬性僅僅只能給簡單類型的屬性賦值,(簡單類型即:八大基本類型和基本類型的包裝類)。
那么如何跟引用類型的屬性復制呢?
這時,我們就要使用ref屬性,ref屬性也是property標簽的一個屬性,ref屬性是用來給引用類型的屬性賦值的,ref屬性跟value屬性的功能是一樣的,但是value屬性是給基本類型屬性賦值,ref屬性是給引用類型的屬性賦值。
ref屬性的值是該引用類型的id值。
補充:當一個類在使用set注入屬性值的時候,只寫了set方法,卻沒有寫該屬性,那么使用了set注入,是不會報錯的,因為根據Spring的設計規(guī)則,Spring只會判斷該set方法是否存在,若是該方法存在,那么就不會報錯。
4. 構造注入
<bean id="" class="">
<constructor-arg name="" value="" />
</bean>構造注入使用的是,創(chuàng)建對象的類的有參構造方法,因此使用構造注入的時候,要保證構造方法的存在。
構造注入中的constructor-arg標簽中的name屬性,必須跟構造方法里面參數的名字一摸一樣,
構造注入中的constructor-arg標簽中的value屬性,也是用來跟基本類型的屬性賦值的。若是給引用類型的屬性賦值,那么必須使用ref屬性。ref的值是這個屬性所在類的id的值。
補充:構造注入中的constructor-arg標簽中的name屬性,可以使用index來代替,index的值為0,1,2.表示的是給構造方法中的第幾個參數賦值。例如
<bean id="" class="">
<constructor-arg index="0" value="" /><!--給構造方法的第一個參數賦值-->
<constructor-arg index="2" value="" /><!--給構造方法的第三個參數賦值-->
<constructor-arg index="1" value="" /><!--給構造方法的第二個參數賦值-->
</bean>以上代碼說明,使用index的屬性給構造注入的屬性賦值的時候,不是必須按照0,1,2的順序賦值,可以打亂順序,使用0,2,1的下標也是可以的。
若是我們嚴格按照0,1,2的下標來給構造注入的屬性賦值,那么我們還可以簡寫成下面的樣式:
<bean id="" class="">
<constructor-arg value="" /><!--給構造方法的第一個參數賦值-->
<constructor-arg value="" /><!--給構造方法的第二個參數賦值-->
<constructor-arg value="" /><!--給構造方法的第三個參數賦值-->
</bean>即上面的代碼省略了index屬性,但這樣的方式要求,你必須按照構造方法中的參數的順序去給屬性賦值。
構造注入強大的地方:我們使用構造注入的方式給屬性賦值的時候,我們可以直接使用Java中內置的寫好的類。舉個例子,如下圖所示:

上面的圖中的name是File類的屬性,value是我們想給自己定義的File類的對象myFile賦的值。
到此這篇關于詳細介紹Spring的配置文件的文章就介紹到這了,更多相關Spring配置文件內容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關文章希望大家以后多多支持腳本之家!
相關文章
Spring Boot高級教程之Spring Boot連接MySql數據庫
這篇文章主要為大家詳細介紹了Spring Boot高級教程之Spring Boot連接MySql數據庫,具有一定的參考價值,感興趣的小伙伴們可以參考一下2017-10-10

