Spring Tool Suite 3.9.1.RELEASE
我們在創建的Cat類中定義4個屬性,并且創建Cat類的無參構造、有參構造、getter和setter方法,重寫toString()方法。創建Person類,同樣創建getter和setter方法,重寫toString()方法。我們為Cat類創建一個bean,id為cat2,bean的創建方式沿用上文,不明白的朋友可以查看小編之前的文章。接下來創建Person類的bean,使用屬性注入的方法添加屬性,可以使用property的ref屬性建立bean之間的引用關系,如下圖所示。我們在運行結果中可以看出打印Person類的對象時,輸出的信息有cat的值。
組成應用程序的bean經常需要相互協作完成應用程序的功能,要使bean能夠相互訪問,就必須在bean配置文件中指定對bean的引用。我們也可以使用property的<ref>元素來設置bean之間的引用,如下圖所示。
我們也可以在屬性或構造器里包含bean的聲明,這樣的bean稱為內部bean,可以不定義id,不能被外部引用。當bean實例僅僅給一個特定的屬性使用時,可以將其聲明為內部bean,內部bean聲明直接包含在<property>或<constructor-arg>元素里,不需要設置任何id或name屬性,如下圖所示。
上述步驟介紹的為使用屬性注入的方式引入外部bean,下面介紹使用構造器注入的方式引入外部bean,用法大體上是相同的,都是使用ref屬性,我們先為Person類增加有參構造,并且再創建一個無參構造,使用構造器注入的結果如下圖所示。
我們將Person類全部屬性均使用構造器注入,均在<constructor-arg>元素里添加屬性值即可,結果如下圖所示。
下面介紹如何在為bean的屬性注入null值,可以使用<null/>元素標簽為bean的字符串或其它對象類型的屬性注入null值。如下圖所示,我們不需要給Person類的對象注入一個Cat類對象這個屬性,因此使用<null/>元素表示,如下圖所示。
最后我們介紹級聯屬性,Spring支持級聯屬性的配置,我們可以在創建Person類的bean時為Cat類的某一個屬性賦值,前提是person的屬性car必須先初始化才可以為級聯屬性賦值,否則會有異常,寫法如下圖1所示,我們為cat這個bean在person這個bean中設置price屬性,運行結果如下圖2所示。
注意使用xml文件的方式創建bean實例,需要類中有一個無參構造方法。若類中沒有創建任何構造方法,則默認有一個無參構造;若類中創建了有參構造,則必須另外創建一個無參構成。
0 篇文章
如果覺得我的文章對您有用,請隨意打賞。你的支持將鼓勵我繼續創作!