<rt id="bn8ez"></rt>
<label id="bn8ez"></label>

  • <span id="bn8ez"></span>

    <label id="bn8ez"><meter id="bn8ez"></meter></label>

    談?wù)凷pring配置中的id和name屬性有意思的地方(轉(zhuǎn))


        其實這篇文章很早看到的,但仔細(xì)想想其實沒多大意思,有一次維護(hù)代碼的時候,發(fā)現(xiàn)一些看似有意思的寫法,就在本博記錄下,容易遺忘。
    小技巧感覺上很有意思,但并不是很實用,容易理解的配合,方便維護(hù)的配置,才是最好的代碼。搞點小技巧,不方便維護(hù)。

        在BeanFactory的配置中,<bean>是我們最常見的配置項,它有兩個最常見的屬性,即id和name,最近研究了一下,發(fā)現(xiàn)這兩個屬性還挺好玩的,特整理出來和大家一起分享。

    1.id屬性命名必須滿足XML的命名規(guī)范,因為id其實是XML中就做了限定的。總結(jié)起來就相當(dāng)于一個Java變量的命名:不能以數(shù)字,符號打頭,不能有空格,如123,?ad,"ab "等都是不規(guī)范的,Spring在初始化時就會報錯,
        org
    .xml.sax.SAXParseException: Attribute value "?ab" of type ID must be a name.

    2.name屬性則沒有這些限定,你可以使用幾乎任何的名稱,如?ab,123等,但不能帶空格,如"a b"," abc",,這時,雖然初始化時不會報錯,但在getBean()則會報出諸如以下的錯誤:
       org.springframework.beans.factory.NoSuchBeanDefinitionException: No bean named 'a b' is defined

    3.配置文件中不允許出現(xiàn)兩個id相同的<bean>,否則在初始化時即會報錯,如:
      org.xml.sax.SAXParseException: Attribute value "aa" of type ID must be unique within the document.

    4.但配置文件中允許出現(xiàn)兩個name相同的<bean>,在用getBean()返回實例時,后面一個Bean被返回,應(yīng)該是前面那個<bean>被后面同名的 <bean>覆蓋了。有鑒于此,為了避免不經(jīng)意的同名覆蓋的現(xiàn)象,盡量用id屬性而不要用name屬性。

    5.name屬性可以用,隔開指定多個名字,如<bean name="b1,b2,b3">,相當(dāng)于多個別名,這時通過getBean("a1") getBean("a2") getBean("a3")返回的都是同一個實例(假設(shè)是singleton的情況)

    6.如果id和name都沒有指定,則用類全名作為name,如<bean class="com.stamen.BeanLifeCycleImpl">,則你可以通過
    getBean("com.biao.GroupThreadImpl")返回該實例。

    7.如果存在多個id和name都沒有指定,且實例類都一樣的<bean>,如:

     <bean class="com.biao.GroupThreadImpl"/>

    <bean class="com.biao.GroupThreadImpl"/>

    <bean class="com.biao.GroupThreadImpl"/>

    則第一個bean通過getBean("com.biao.GroupThreadImpl")獲得,

    第二個bean通過getBean("com.biao.GroupThreadImpl#1")獲得,

    第三個bean通過getBean("com.biao.GroupThreadImpl#2")獲得,以此類推。








    posted on 2009-11-03 17:10 胡鵬 閱讀(363) 評論(0)  編輯  收藏 所屬分類: spring


    只有注冊用戶登錄后才能發(fā)表評論。


    網(wǎng)站導(dǎo)航:
     

    導(dǎo)航

    <2009年11月>
    25262728293031
    1234567
    891011121314
    15161718192021
    22232425262728
    293012345

    統(tǒng)計

    常用鏈接

    留言簿(3)

    隨筆分類

    隨筆檔案

    agile

    搜索

    最新評論

    閱讀排行榜

    評論排行榜

    主站蜘蛛池模板: 亚洲AV综合色区无码另类小说| 亚洲国产精品yw在线观看| 国产精品午夜免费观看网站 | 亚洲七七久久精品中文国产| sihu国产精品永久免费| 亚洲尹人香蕉网在线视颅| 夜夜爽免费888视频| 一个人看的免费高清视频日本| 亚洲人成在线观看| 拔擦拔擦8x华人免费久久| 伊人久久大香线蕉免费视频| 亚洲av永久无码精品三区在线4| 免费观看四虎精品国产永久| 日韩电影免费观看| 国产AV无码专区亚洲AV蜜芽| 国产亚洲精品a在线观看app| 成年女人18级毛片毛片免费| 中文字幕无线码免费人妻| 中文字幕乱码亚洲精品一区| 国产美女亚洲精品久久久综合| 久久久久免费看黄A片APP| 中文字幕免费人成乱码中国| 亚洲色精品VR一区区三区 | 亚洲av永久无码精品网址| 亚洲av日韩av不卡在线观看| 成人免费视频国产| 亚洲精品视频免费在线观看| 九九九精品视频免费| 自拍日韩亚洲一区在线| 亚洲av无码一区二区三区网站| 国产免费拔擦拔擦8x| 91嫩草免费国产永久入口| h视频免费高清在线观看| 亚洲欧美成aⅴ人在线观看| 亚洲国产天堂在线观看| 亚洲精品国产V片在线观看| 午夜网站免费版在线观看| 永久免费在线观看视频| a级在线观看免费| 一级特黄录像免费播放肥| 国产精品国产亚洲区艳妇糸列短篇 |