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

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

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

    談談Spring配置中的id和name屬性有意思的地方(轉)


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

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

    1.id屬性命名必須滿足XML的命名規范,因為id其實是XML中就做了限定的。總結起來就相當于一個Java變量的命名:不能以數字,符號打頭,不能有空格,如123,?ad,"ab "等都是不規范的,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.配置文件中不允許出現兩個id相同的<bean>,否則在初始化時即會報錯,如:
      org.xml.sax.SAXParseException: Attribute value "aa" of type ID must be unique within the document.

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

    5.name屬性可以用,隔開指定多個名字,如<bean name="b1,b2,b3">,相當于多個別名,這時通過getBean("a1") getBean("a2") getBean("a3")返回的都是同一個實例(假設是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 胡鵬 閱讀(355) 評論(0)  編輯  收藏 所屬分類: spring


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


    網站導航:
     

    導航

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

    統計

    常用鏈接

    留言簿(3)

    隨筆分類

    隨筆檔案

    agile

    搜索

    最新評論

    閱讀排行榜

    評論排行榜

    主站蜘蛛池模板: 国产福利在线免费| 日本媚薬痉挛在线观看免费| 亚洲国产成人在线视频| 亚洲爱情岛论坛永久| 亚洲一区二区在线免费观看| 九九综合VA免费看| 亚洲高清视频免费| 全免费一级毛片在线播放| 日韩精品无码免费专区网站| 自拍日韩亚洲一区在线| 亚洲日本中文字幕天堂网| 99久久国产热无码精品免费| 成人福利在线观看免费视频| 午夜亚洲国产理论秋霞| 免费人成无码大片在线观看| 8x8x华人永久免费视频| 日本视频免费观看| 亚洲乱码一二三四区乱码| 亚洲一区二区高清| 日韩精品福利片午夜免费观着| 巨胸喷奶水www永久免费| 亚洲日韩国产AV无码无码精品| 国产亚洲人成网站观看| 免费国产成人高清在线观看麻豆| 99久久国产免费-99久久国产免费| 免费亚洲视频在线观看| 亚洲国产美女在线观看 | a级在线观看免费| 亚洲精品av无码喷奶水糖心| 亚洲a在线视频视频| 亚洲午夜爱爱香蕉片| 午夜私人影院免费体验区| 久久精品免费观看| 免费无码AV一区二区| 亚洲欧洲无卡二区视頻| 亚洲国产品综合人成综合网站| 亚洲无线观看国产精品| 国产又黄又爽又刺激的免费网址| 在线观看成人免费视频不卡| 日本免费人成网ww555在线| 一级一片免费视频播放|