Spring的bean的屬性注入

bean的屬性注入3中方式。
1.0 接口注入返咱。
2.0 構(gòu)造函數(shù)注入牍鞠。
3.0 setter方法的注入难述。

spring支持后面的2種注入
示范如下,設(shè)計一個Person類型店读,和一個Student類型攀芯。

Person類,采用setter方法注入屬性殖演。


public class Person {
    
    private String name;
    private int age;
    
    public String getName() {
        return name;
    }
    public void setName(String name) {
        this.name = name;
    }
    public int getAge() {
        return age;
    }
    public void setAge(int age) {
        this.age = age;
    }
    
    @Override
    public String toString() {
        return "Person [name=" + name + ", age=" + age + "]";
    }
        
}

Student類, 采用構(gòu)造函數(shù)注入屬性值趴久。


public class Student {
    
    private Person person;
    
    private String id;
    
    public Student(Person person,String id)
    {
        this.person=person;
        this.id=id;
        
        System.out.println("-construct-------"+id+"student被實列化"+person);
    }

    
    public void setPerson(Person person) {
        this.person = person;
    }


    public void setId(String id) {
        this.id = id;
    }
    
    public String getId() {
        
        return id;
    }
}

xml的配置如下

<bean id="person" class="Person">
<property name="name" value="dflx"></property>
<property name="age" value="999"></property>
</bean>

<bean id="student" class="Student">
<constructor-arg index="0" ref="person"></constructor-arg>
<constructor-arg index="1" type="java.lang.String" value="123456"></constructor-arg>
</bean>

在main類中彼棍,進行相關(guān)的測試

    ApplicationContext app=new ClassPathXmlApplicationContext("helloMessage.xml");
        Student student=(Student) app.getBean("student");
        System.out.println("http:////////////////");
        System.out.println(student.getId());

結(jié)果如下所示

-construct-------123456student被實列化Person [name=dflx, age=999]
////////////////
123456

spring集合類型的屬性注入
list和集合的注入 設(shè)置一個測試類座硕,來展示注入坎吻。

ublic class TestDem {
    
    
    private ArrayList<String> list;
    
    private String[] str;
    
    public void setList(ArrayList<String> list) {
        this.list = list;
    }
    
    public void setStr(String[] str) {
        this.str = str;
    }
    
    
    @Override
    public String toString() {
        return "TestDem [list=" + list + ", str=" + Arrays.toString(str) + "]";
    }

    @Test
    public void test()
    {
        ApplicationContext app=new ClassPathXmlApplicationContext("helloMessage.xml");
        TestDem test=(TestDem) app.getBean("test");
        
        System.out.println(test);
        
    }
    

}

相關(guān)的xml配置如下

<bean id="test" class="TestDem" >
<property name="list">
<list>
<value>alice</value>
<value>jack</value>
</list>
</property>

<property name="str">
<list>
<value>11</value>
<value>22</value>
<value>33</value>
</list>
</property>
</bean>

最后的結(jié)果如下

TestDem [list=[alice, jack], str=[11, 22, 33]]

Set的注入

xml的相關(guān)配置如下

<bean id="test" class="TestDem" >
<property name="set">
<set>
<value>111</value>
<value>222</value>
</set>
</property>

</bean>

結(jié)果如下

TestDem [set=[111, 222]]

集合屬性map的注入

<bean id="test" class="TestDem" >
<property name="map">
<map>
<entry key="1" value="alice"></entry>
<entry key="2" value="marry"></entry>
</map>
</property>
</bean>

結(jié)果如下

TestDem [map={1=alice, 2=marry}]

Properties的屬性注入

其xml的配置如下

<bean id="test" class="TestDem" >
<property name="proper">

<props>
<prop key="東風(fēng)">冷雪</prop>
<prop key="風(fēng)">雨</prop>
</props>

</property>
</bean>
</beans>

結(jié)果如下

TestDem [proper={東風(fēng)=冷雪, 風(fēng)=雨}]

和小伙伴宇葱,建了一個公眾號瘦真,在摸索中,歡迎關(guān)注黍瞧。搜索公眾號:東風(fēng)冷雪诸尽,英文:satan_master ,現(xiàn)在探索中。無所不有印颤,包括生活您机,學(xué)習(xí),娛樂年局。 三大板塊际看。

公眾號二維碼.jpg
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
  • 序言:七十年代末,一起剝皮案震驚了整個濱河市仲闽,隨后出現(xiàn)的幾起案子,更是在濱河造成了極大的恐慌僵朗,老刑警劉巖赖欣,帶你破解...
    沈念sama閱讀 218,386評論 6 506
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件,死亡現(xiàn)場離奇詭異验庙,居然都是意外死亡顶吮,警方通過查閱死者的電腦和手機,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 93,142評論 3 394
  • 文/潘曉璐 我一進店門粪薛,熙熙樓的掌柜王于貴愁眉苦臉地迎上來悴了,“玉大人,你說我怎么就攤上這事违寿∪觅鳎” “怎么了?”我有些...
    開封第一講書人閱讀 164,704評論 0 353
  • 文/不壞的土叔 我叫張陵陨界,是天一觀的道長巡揍。 經(jīng)常有香客問我,道長菌瘪,這世上最難降的妖魔是什么腮敌? 我笑而不...
    開封第一講書人閱讀 58,702評論 1 294
  • 正文 為了忘掉前任,我火速辦了婚禮俏扩,結(jié)果婚禮上糜工,老公的妹妹穿的比我還像新娘。我一直安慰自己录淡,他們只是感情好捌木,可當(dāng)我...
    茶點故事閱讀 67,716評論 6 392
  • 文/花漫 我一把揭開白布。 她就那樣靜靜地躺著嫉戚,像睡著了一般刨裆。 火紅的嫁衣襯著肌膚如雪澈圈。 梳的紋絲不亂的頭發(fā)上,一...
    開封第一講書人閱讀 51,573評論 1 305
  • 那天帆啃,我揣著相機與錄音瞬女,去河邊找鬼。 笑死努潘,一個胖子當(dāng)著我的面吹牛诽偷,可吹牛的內(nèi)容都是我干的。 我是一名探鬼主播疯坤,決...
    沈念sama閱讀 40,314評論 3 418
  • 文/蒼蘭香墨 我猛地睜開眼报慕,長吁一口氣:“原來是場噩夢啊……” “哼!你這毒婦竟也來了压怠?” 一聲冷哼從身側(cè)響起卖子,我...
    開封第一講書人閱讀 39,230評論 0 276
  • 序言:老撾萬榮一對情侶失蹤,失蹤者是張志新(化名)和其女友劉穎刑峡,沒想到半個月后洋闽,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體,經(jīng)...
    沈念sama閱讀 45,680評論 1 314
  • 正文 獨居荒郊野嶺守林人離奇死亡突梦,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點故事閱讀 37,873評論 3 336
  • 正文 我和宋清朗相戀三年诫舅,在試婚紗的時候發(fā)現(xiàn)自己被綠了。 大學(xué)時的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片宫患。...
    茶點故事閱讀 39,991評論 1 348
  • 序言:一個原本活蹦亂跳的男人離奇死亡刊懈,死狀恐怖,靈堂內(nèi)的尸體忽然破棺而出娃闲,到底是詐尸還是另有隱情虚汛,我是刑警寧澤,帶...
    沈念sama閱讀 35,706評論 5 346
  • 正文 年R本政府宣布皇帮,位于F島的核電站卷哩,受9級特大地震影響,放射性物質(zhì)發(fā)生泄漏属拾。R本人自食惡果不足惜将谊,卻給世界環(huán)境...
    茶點故事閱讀 41,329評論 3 330
  • 文/蒙蒙 一、第九天 我趴在偏房一處隱蔽的房頂上張望渐白。 院中可真熱鬧尊浓,春花似錦、人聲如沸纯衍。這莊子的主人今日做“春日...
    開封第一講書人閱讀 31,910評論 0 22
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽。三九已至瓦堵,卻和暖如春基协,著一層夾襖步出監(jiān)牢的瞬間,已是汗流浹背谷丸。 一陣腳步聲響...
    開封第一講書人閱讀 33,038評論 1 270
  • 我被黑心中介騙來泰國打工堡掏, 沒想到剛下飛機就差點兒被人妖公主榨干…… 1. 我叫王不留应结,地道東北人刨疼。 一個月前我還...
    沈念sama閱讀 48,158評論 3 370
  • 正文 我出身青樓,卻偏偏與公主長得像鹅龄,于是被迫代替她去往敵國和親揩慕。 傳聞我的和親對象是個殘疾皇子,可洞房花燭夜當(dāng)晚...
    茶點故事閱讀 44,941評論 2 355

推薦閱讀更多精彩內(nèi)容

  • Spring Cloud為開發(fā)人員提供了快速構(gòu)建分布式系統(tǒng)中一些常見模式的工具(例如配置管理扮休,服務(wù)發(fā)現(xiàn)迎卤,斷路器,智...
    卡卡羅2017閱讀 134,657評論 18 139
  • Spring Boot 參考指南 介紹 轉(zhuǎn)載自:https://www.gitbook.com/book/qbgb...
    毛宇鵬閱讀 46,811評論 6 342
  • 我是怎么了玷坠?很多時候會這樣問自己蜗搔,之前的自己是一個知道自己想做什么,要做什么的八堡,現(xiàn)在為什么有時感覺有些迷茫樟凄?記得剛...
    一根火柴的故事閱讀 110評論 0 0
  • “留言的意義不在于深刻與否缝龄,而在于是否幫助你成長了起來」业” 一種留言叔壤,我們很喜歡看。就是購物網(wǎng)站上的評價留言口叙。我們...
    saiyonana閱讀 261評論 0 0
  • ?已經(jīng)好久好久沒練書法了炼绘,字也寫得比想象中難看,但還是執(zhí)起筆妄田,送一首《浪淘沙》饭望,給在追尋和磨練路途中的自己,再說一...
    一半陳閱讀 189評論 4 2