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

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

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

    隨筆-314  評(píng)論-209  文章-0  trackbacks-0

    研究了很久新出的 Spring 2.5, 總算大致明白了如何用標(biāo)注定義 Bean, 但是如何定義和注入類型為 java.lang.String 的 bean 仍然未解決, 希望得到高人幫助.

    總的來(lái)看 Java EE 5 的標(biāo)注開(kāi)發(fā)方式開(kāi)來(lái)是得到了大家的認(rèn)可了.

    @Service 相當(dāng)于定義 bean, 自動(dòng)根據(jù) bean 的類名生成一個(gè)首字母小寫(xiě)的 bean

    @Autowired 則是自動(dòng)注入依賴的類, 它會(huì)在類路徑中找成員對(duì)應(yīng)的類/接口的實(shí)現(xiàn)類, 如果找到多個(gè), 需要用 @Qualifier("chineseMan") 來(lái)指定對(duì)應(yīng)的 bean 的 ID.

    一定程度上大大簡(jiǎn)化了代碼的編寫(xiě), 例如一對(duì)一的 bean 映射現(xiàn)在完全不需要寫(xiě)任何額外的 bean 定義了.

    下面是代碼的運(yùn)行結(jié)果:

    man.sayHello()=抽你丫的
    SimpleMan said: Hi
    org.example.EnglishMan@12bcd4b said: Fuck you!

     

    代碼:

    beans.xml

    <?xml version="1.0" encoding="UTF-8"?>
    <beans xmlns="http://www.springframework.org/schema/beans"
    xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
    xmlns:context="http://www.springframework.org/schema/context"
    xsi:schemaLocation="http://www.springframework.org/schema/beans
    http://www.springframework.org/schema/beans/spring-beans-2.5.xsd
    http://www.springframework.org/schema/context
    http://www.springframework.org/schema/context/spring-context-2.5.xsd">
    <context:annotation-config/>
    <context:component-scan base-package="org.example"/>
    </beans>

    測(cè)試類:

    import org.example.IMan;
    import org.example.SimpleMan;
    import org.springframework.context.ApplicationContext;
    import org.springframework.context.support.ClassPathXmlApplicationContext;

    public class SpringTest {
        public static void main(String[] args) {
            ApplicationContext ctx = new ClassPathXmlApplicationContext("beans.xml");
            SimpleMan dao = (SimpleMan) ctx.getBean("simpleMan");
            System.out.println(dao.hello());
            IMan man = (IMan) ctx.getBean("usMan");
            System.out.println(man.sayHello());
        }
    }

    自動(dòng)探測(cè)和注入bean的類:

    package org.example;

    import org.springframework.beans.factory.annotation.Autowired;
    import org.springframework.beans.factory.annotation.Qualifier;
    import org.springframework.stereotype.Service;

    @Service
    public class SimpleMan {
        // 自動(dòng)注入名稱為 Man 的 Bean
        @Autowired(required = false)
        @Qualifier("chineseMan")
        //@Qualifier("usMan")
        private IMan man;   

        /**
         * @return the man
         */
        public IMan getMan() {
            return man;
        }

        /**
         * @param man the man to set
         */
        public void setMan(IMan man) {
            this.man = man;
        }

        public String hello() {
            System.out.println("man.sayHello()=" + man.sayHello());
            return "SimpleMan said: Hi";
        }
    }

     

    一個(gè)接口和兩個(gè)實(shí)現(xiàn)類:

    package org.example;

    /**
    * 抽象的人接口.
    * @author BeanSoft
    * @version 1.0
    */
    public interface IMan {
        /**
         * 打招呼的抽象定義.
         * @return 招呼的內(nèi)容字符串
         */
        public String sayHello();
    }

     

    package org.example;

    import org.springframework.stereotype.Service;

    /**
    * 中國(guó)人的實(shí)現(xiàn).
    * @author BeanSoft
    */
    @Service
    public class ChineseMan implements IMan {

        public String sayHello() {
            return "抽你丫的";
        }

    }

     

    package org.example;

    import org.springframework.stereotype.Service;

    /**
    * @author BeanSoft
    * 美國(guó)大兵
    */
    @Service("usMan")
    // 這里定義了一個(gè) id 為 usMan 的 Bean, 標(biāo)注里面的屬性是 bean 的 id
    public class EnglishMan implements IMan {

        public String sayHello() {
            return this + " said: Fuck you!";
        }

    }

    posted on 2009-06-25 15:06 xzc 閱讀(330) 評(píng)論(0)  編輯  收藏 所屬分類: Spring
    主站蜘蛛池模板: 人妻无码久久一区二区三区免费| 国产成人无码区免费内射一片色欲| 国产精品久久香蕉免费播放| 偷自拍亚洲视频在线观看99| 国产精品亚洲а∨无码播放| 成人免费在线看片| 亚洲AV日韩综合一区| 亚洲国产日韩在线视频| 无码人妻一区二区三区免费手机| 午夜在线免费视频 | 亚洲精品国产字幕久久不卡| 114级毛片免费观看| 无忧传媒视频免费观看入口| 久久久精品国产亚洲成人满18免费网站| 亚洲国产高清人在线| 永久免费av无码网站大全| 成全在线观看免费观看大全 | 亚洲一级毛片在线播放| 亚洲国产成人精品91久久久| 91福利视频免费| a级毛片免费观看网站| 亚洲精品福利你懂| 精品亚洲一区二区| 免费中文字幕在线观看| 久久精品国产免费观看 | 182tv免费视视频线路一二三| 日韩电影免费在线观看网址 | 中文字幕亚洲日韩无线码| 免费无码专区毛片高潮喷水| 亚洲福利电影一区二区?| 伊人婷婷综合缴情亚洲五月| 高清国语自产拍免费视频国产| 久草免费手机视频| 一本久久A久久免费精品不卡| 国产人成亚洲第一网站在线播放| 日韩特黄特色大片免费视频| 永久在线免费观看| 毛片免费在线观看| 亚洲成a人片7777| 亚洲AV无码专区国产乱码4SE| 久久久精品国产亚洲成人满18免费网站|