Spring筆記(一):xml配置bean

xml配置bean

  • 屬性配置

    1.屬性配置必須要求實(shí)體類總存在無參構(gòu)造方法

    2,屬性配置標(biāo)簽property-> name,value

     <bean id="student" class="com.example.demo.entity.Student">
        <property name="name" value="張三"></property>
        <property name="age" value="22"></property>
    </bean>
    
    
  • 構(gòu)造方法配置

    1.構(gòu)造方法會涉及到重載,則在配置bean是需要針對相應(yīng)的參數(shù)的類型碌更,位置進(jìn)行詳細(xì)的指出

    2.構(gòu)造方法配置使用標(biāo)簽constructor-arg

      <bean id="student" class="com.example.demo.entity.Student">
        <constructor-arg value="zhansna" index="0" type="java.lang.String"></constructor-arg>
        <constructor-arg value="12" index="1" type="int"></constructor-arg>
    </bean>
    

    3.在使用構(gòu)造方法設(shè)置屬性,會涉及到特殊字符情況下需要使用CDATA來進(jìn)行特殊字符內(nèi)容的包裹

        <bean id="student" class="com.example.demo.entity.Student">
        <constructor-arg>
            <value>
                <![CDATA[<張三`>]]>
            </value>
        </constructor-arg>
        <constructor-arg value="12" index="1" type="int"></constructor-arg>
        </bean>
    

    4.屬性值不光可以通過value屬性值進(jìn)行諸如赡鲜,還可以使用value子節(jié)點(diǎn)進(jìn)行注入

  • bean配置中對象之間互相的引用

    在使用對象之間引用時吝镣,可以使用ref指向配置好的對象

     <bean id="student" class="com.example.demo.entity.Student">
        <property name="name" value="張三"></property>
        <property name="age" value="22"></property>
        <property name="school" ref="school"></property>
    </bean>
    
    <!--School配置-->
    <bean id="school" class="com.example.demo.entity.School">
        <property name="schoolName" value="清華大學(xué)"></property>
        <property name="schoolAddress" value="北京市海淀區(qū)"></property>
    </bean>
    

除了使用ref指向,還可以使用配置內(nèi)部bean的方式來實(shí)現(xiàn)對象之間的相互調(diào)用

```
<!--內(nèi)部bean配置-->
<!--配置外部bean信息-->
<bean id="stu" class="com.example.demo.entity.Student">
    <property name="name" value="Rose"></property>
    <property name="age" value="23"></property>
    <property name="school">
        <!--配置內(nèi)部bean-->
        <bean class="com.example.demo.entity.School">
            <property name="schoolName" value="北京大學(xué)"></property>
            <property name="schoolAddress" value="北京市海淀區(qū)"></property>
        </bean>
    </property>
</bean>
```
  • 集合屬性配置

1.list配置:標(biāo)簽list

引用外部配置的bean
  <!--配置課程-->
   <bean id="course_chinese" class="com.example.demo.entity.Course">
       <property name="id" value="10001"></property>
       <property name="name" value="Chinese"></property>
       <property name="source" value="89.9"></property>
   </bean>


   <bean id="course_english" class="com.example.demo.entity.Course">
       <property name="id" value="10002"></property>
       <property name="name" value="English"></property>
       <property name="source" value="70.6"></property>
   </bean>


   <bean id="course_math" class="com.example.demo.entity.Course">
       <property name="id" value="10003"></property>
       <property name="name" value="Math"></property>
       <property name="source" value="90.5"></property>
   </bean>

   <!--list集合配置:引用外部配置的課程-->
   <bean id="stu1" class="com.example.demo.entity.Student">
       <property name="name" value="Tims"></property>
       <property name="school" ref="school"></property>
       <property name="age" value="26"></property>
       <property name="courses">
           <list>
               <ref bean="course_chinese"></ref>
               <ref bean="course_english"></ref>
               <ref bean="course_math"></ref>
           </list>
       </property>
   </bean>
內(nèi)部配置的bean
  <!--list集合配置:內(nèi)部配置的課程-->
   <bean id="stu2" class="com.example.demo.entity.Student">
       <property name="name" value="Java"></property>
       <property name="school" ref="school"></property>
       <property name="age" value="26"></property>

       <property name="courses">
           <list>
               <bean class="com.example.demo.entity.Course">
                   <property name="id" value="10001"></property>
                   <property name="name" value="Chinese"></property>
                   <property name="source" value="89.9"></property>
               </bean>


               <bean class="com.example.demo.entity.Course">
                   <property name="id" value="10002"></property>
                   <property name="name" value="English"></property>
                   <property name="source" value="70.6"></property>
               </bean>


               <bean class="com.example.demo.entity.Course">
                   <property name="id" value="10003"></property>
                   <property name="name" value="Math"></property>
                   <property name="source" value="90.5"></property>
               </bean>
           </list>
       </property>
   </bean>

2.針對集合配置中還有set泉蝌,數(shù)組(array)配置方式都一樣歇万,唯一區(qū)別就是針對不同數(shù)據(jù)結(jié)構(gòu)使用的標(biāo)簽不一樣而已

3.map配置 使用標(biāo)簽map,entry勋陪,key贪磺,value-ref

  <!--map配置-->
   <bean id="position" class="com.example.demo.entity.Position">
       <property name="position">
           <map>
               <entry key="monitor" value-ref="stu1"></entry>
               <entry key="commissaryInChargeOfStudies" value-ref="stu2"></entry>
           </map>
       </property>
   </bean>

4.Properties配置 使用標(biāo)簽props,prop

   <!--Properties屬性配置-->
   <bean id="properties" class="com.example.demo.entity.DataSource">
       <property name="properties">
           <!--模擬數(shù)據(jù)庫連接配置信息-->
           <props>
               <prop key="username">root</prop>
               <prop key="password">12345678</prop>
               <prop key="jdbcurl">jdbc:mysql://......</prop>
               <prop key="driverClass">com.mysql.jdbc.Driver</prop>
           </props>
       </property>
   </bean>
  • 配置獨(dú)立的bean共外部多個對象去使用诅愚,避免每次針對不同對象都的在xml文件中配置
    <!--util進(jìn)行配置-->
    <!--courses集合可以在xml文件中隨處被調(diào)用寒锚,也就是將courses獨(dú)立出來,便于別的對象直接關(guān)聯(lián)-->
    <util:list id="courses">
        <ref bean="course_math"></ref>
        <ref bean="course_english"></ref>
        <ref bean="course_chinese"></ref>
    </util:list>

    <bean id="stu5" class="com.example.demo.entity.Student">
        <property name="name" value="JSON"></property>
        <property name="age" value="33"></property>
        <property name="school" ref="school"></property>
        <property name="courses" ref="courses"></property>
    </bean>
  • p命名空間進(jìn)行配置,相對于傳統(tǒng)的配置方式更加的簡潔
   <!--p命名空間進(jìn)行配置-->
    <bean id="stu4" class="com.example.demo.entity.Student" p:name="Rose" p:age="22" p:courses-ref="course_math"
          p:school-ref="school">
    </bean>
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
  • 序言:七十年代末违孝,一起剝皮案震驚了整個濱河市刹前,隨后出現(xiàn)的幾起案子,更是在濱河造成了極大的恐慌雌桑,老刑警劉巖喇喉,帶你破解...
    沈念sama閱讀 217,509評論 6 504
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件,死亡現(xiàn)場離奇詭異校坑,居然都是意外死亡拣技,警方通過查閱死者的電腦和手機(jī),發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 92,806評論 3 394
  • 文/潘曉璐 我一進(jìn)店門耍目,熙熙樓的掌柜王于貴愁眉苦臉地迎上來膏斤,“玉大人,你說我怎么就攤上這事邪驮∧妫” “怎么了?”我有些...
    開封第一講書人閱讀 163,875評論 0 354
  • 文/不壞的土叔 我叫張陵耕捞,是天一觀的道長衔掸。 經(jīng)常有香客問我,道長俺抽,這世上最難降的妖魔是什么敞映? 我笑而不...
    開封第一講書人閱讀 58,441評論 1 293
  • 正文 為了忘掉前任,我火速辦了婚禮磷斧,結(jié)果婚禮上振愿,老公的妹妹穿的比我還像新娘捷犹。我一直安慰自己,他們只是感情好冕末,可當(dāng)我...
    茶點(diǎn)故事閱讀 67,488評論 6 392
  • 文/花漫 我一把揭開白布萍歉。 她就那樣靜靜地躺著,像睡著了一般档桃。 火紅的嫁衣襯著肌膚如雪枪孩。 梳的紋絲不亂的頭發(fā)上,一...
    開封第一講書人閱讀 51,365評論 1 302
  • 那天藻肄,我揣著相機(jī)與錄音蔑舞,去河邊找鬼。 笑死嘹屯,一個胖子當(dāng)著我的面吹牛攻询,可吹牛的內(nèi)容都是我干的。 我是一名探鬼主播州弟,決...
    沈念sama閱讀 40,190評論 3 418
  • 文/蒼蘭香墨 我猛地睜開眼钧栖,長吁一口氣:“原來是場噩夢啊……” “哼!你這毒婦竟也來了婆翔?” 一聲冷哼從身側(cè)響起拯杠,我...
    開封第一講書人閱讀 39,062評論 0 276
  • 序言:老撾萬榮一對情侶失蹤,失蹤者是張志新(化名)和其女友劉穎浙滤,沒想到半個月后阴挣,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體,經(jīng)...
    沈念sama閱讀 45,500評論 1 314
  • 正文 獨(dú)居荒郊野嶺守林人離奇死亡纺腊,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點(diǎn)故事閱讀 37,706評論 3 335
  • 正文 我和宋清朗相戀三年,在試婚紗的時候發(fā)現(xiàn)自己被綠了茎芭。 大學(xué)時的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片揖膜。...
    茶點(diǎn)故事閱讀 39,834評論 1 347
  • 序言:一個原本活蹦亂跳的男人離奇死亡,死狀恐怖梅桩,靈堂內(nèi)的尸體忽然破棺而出壹粟,到底是詐尸還是另有隱情,我是刑警寧澤宿百,帶...
    沈念sama閱讀 35,559評論 5 345
  • 正文 年R本政府宣布趁仙,位于F島的核電站,受9級特大地震影響垦页,放射性物質(zhì)發(fā)生泄漏雀费。R本人自食惡果不足惜,卻給世界環(huán)境...
    茶點(diǎn)故事閱讀 41,167評論 3 328
  • 文/蒙蒙 一痊焊、第九天 我趴在偏房一處隱蔽的房頂上張望盏袄。 院中可真熱鬧忿峻,春花似錦、人聲如沸辕羽。這莊子的主人今日做“春日...
    開封第一講書人閱讀 31,779評論 0 22
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽刁愿。三九已至绰寞,卻和暖如春,著一層夾襖步出監(jiān)牢的瞬間铣口,已是汗流浹背克握。 一陣腳步聲響...
    開封第一講書人閱讀 32,912評論 1 269
  • 我被黑心中介騙來泰國打工, 沒想到剛下飛機(jī)就差點(diǎn)兒被人妖公主榨干…… 1. 我叫王不留枷踏,地道東北人菩暗。 一個月前我還...
    沈念sama閱讀 47,958評論 2 370
  • 正文 我出身青樓,卻偏偏與公主長得像旭蠕,于是被迫代替她去往敵國和親停团。 傳聞我的和親對象是個殘疾皇子,可洞房花燭夜當(dāng)晚...
    茶點(diǎn)故事閱讀 44,779評論 2 354

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