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

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

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

    seaairland

     

    Spring 入門

    Spring 入門

    首先我們要先取得Spring的相關檔案,Spring的檔案放在SourceForge上,網址是:
    http://sourceforge.net/project/showfiles.php?group_id=73357
     撰寫此文時,Spring最新的版本是1.1.1,有兩個下載版本,一個是spring-framework-1.1.1-with- dependencies.zip,一個是spring-framework-1.1.1.zip,with-dependencies的包括一些 ant、jakarta-commons、struts、velocity等等其它開源Java項目的相依檔案,如果您也需要這些相關檔案,可以下載這個版本,如果您已經有這些相關檔案,則只需要下載spring-framework-1.1.1.zip這個檔案。
     下載zip檔案并解壓縮之后,在dist目錄下就是使用Spring所需要的相關檔案,如果下載的是with-dependencies版本,則在lib目錄中的是您可能會用到的相依檔案。在dist目錄下,spring-core.jar是Spring的核心,對于撰寫簡單的單機程序來說,使用這個核心即可,如果日后需要使用到Spring其它的子框架支持,再將其它的jar檔案加入即可,例如spring-aop.jar、spring- webmvc.jar等等。您也可以直接使用spring.jar這個檔案,它包括了所有Spring支持的功能所需要的所有類別,而不再需要加入個別的 jar檔案。
     就我們的第一個Spring程序,只要spring-core.jar這個檔案即可,它唯一相依的其它項目檔案,是commons- logging.jar,您可以在lib目錄的jakarta-commons目錄中找到,將這兩個檔案的位置加入至CLASSPATH中,我們就可以開始撰寫第一個Spring程序。
     來撰寫我們的第一個組件(component),它只是一個簡單的JavaBean,用來向新的使用者打招呼:
    HelloBean.java
    package onlyfun.caterpillar;

    public class HelloBean {
    ??? private?String helloWord = "Hello!World!";
    ??
    ??? public void setHelloWord(String helloWord) {
    ??????? this.helloWord = helloWord;
    ??? }
    ??? public?String getHelloWord() {
    ??????? return helloWord;
    ??? }
    }

     HelloBean有預設的"Hello!World!"字符串,我們也可以透過setter來設定新的招呼語,不過我們不親自撰寫程序來作這些事,而是在組態檔案定義,由Spring來為我們作設定的動作,我們撰寫bean.xml:
    bean.xml
    <?xml version="1.0" encoding="UTF-8"?>
    <!DOCTYPE beans PUBLIC "-//SPRING/DTD BEAN/EN"?"<beans>
    ??? <bean id="helloBean" class="onlyfun.caterpillar.HelloBean">
    ??????? <property name="helloWord"><value>Hello!Justin!</value></property>
    ??? </bean>
    </beans>

     bean.xml中定義了JavaBean的別名與來源類別,<property>標簽中設定了我們希望注入至JavaBean的字符串值,bean.xml必須在您的CLASSPATH可以存取到的目錄中,也許是現行的工作目錄,在Web程序中可以是在classes目錄下,我們這邊使用的是單機程序的方式,將使用FileInputStream讀取bean.xml,所以將之置于現行的工作目錄中,接著我們撰寫一個簡單的測試程序:
    SpringTest.java
    package onlyfun.caterpillar;

    import java.io.*;
    import org.springframework.beans.factory.BeanFactory;
    import org.springframework.beans.factory.xml.XmlBeanFactory;

    public class SpringTest {
    ??? public?static void main(String[] args) throws IOException {
    ??????? InputStream is = new FileInputStream("bean.xml");
    ??????? BeanFactory factory = new XmlBeanFactory(is);
    ??????
    ??????? HelloBean hello = (HelloBean) factory.getBean("helloBean");
    ??????? System.out.println(hello.getHelloWord());
    ??? }
    }

     這是從比較低層次的角度來使用Spring的IoC容器功能,藉由BeanFactory來讀取組態檔案并完成依賴的關聯注入,這邊的依賴是什么?指的是 HelloBean相依于String對象,透過setter所保留的接口,我們使用setter injection來完成這個依賴注入,而不是將招呼語寫死在HelloBean,BeanFactory是整個Spring的重點所在,整個 Spring的核心都圍繞著它,在這邊使用的是XmlBeanFactory,負責讀取XML組態檔案,當然我們也可以使用properties檔案,這之后會再介紹。
     BeanFactory讀取Bean的組態設定并完成關系維護之后,我們可以藉由getBean()方法并指定Bean的別名來取得實例,來看看實際運行之后的效果:
    2004/10/21 上午 10:28:00 org.springframework.beans.factory.xml.XmlBeanDefinitionReader loadBeanDefinitions
    信息: Loading XML bean definitions from resource for InputStream
    2004/10/21 上午 10:28:00 org.springframework.beans.factory.support.AbstractBeanFactory getBean
    信息: Creating shared instance of singleton bean 'helloBean'
    Hello!Justin!

     如果今天您要想改變招呼語,則只要更改bean.xml就可以了,不用修改主要的程序,從比較一般的角度來看,就意味著如果您想要改變一些對象之間的依賴關系,則只要修改組態檔即可,而不用修改組件的任何一行程序。

    posted on 2006-03-30 04:12 chenhui 閱讀(183) 評論(0)  編輯  收藏 所屬分類: 好文收集

    導航

    統計

    常用鏈接

    留言簿(1)

    隨筆分類

    隨筆檔案

    文章分類

    文章檔案

    介紹 IOC

    友情鏈接

    最新隨筆

    搜索

    積分與排名

    最新評論

    閱讀排行榜

    評論排行榜

    主站蜘蛛池模板: 久久精品国产这里是免费| 亚洲AⅤ无码一区二区三区在线 | 久久水蜜桃亚洲av无码精品麻豆| 18亚洲男同志videos网站| 国产精品亚洲色婷婷99久久精品| 久久午夜夜伦鲁鲁片免费无码| 中文字幕精品亚洲无线码一区| 亚洲精品无码你懂的| 四虎成人免费网址在线| 亚洲美国产亚洲AV| 免费看小12萝裸体视频国产| 亚洲理论精品午夜电影| 最近免费2019中文字幕大全| 亚洲国产成人va在线观看网址| 97免费人妻无码视频| 亚洲人成电影网站色www| 国产做床爱无遮挡免费视频| 猫咪免费人成网站在线观看入口| 国产免费拔擦拔擦8x| 国产精品内射视频免费| 国产成人精品免费视频大全五级 | 亚洲色偷偷偷鲁综合| 一级毛片在线观看免费| 亚洲国产成人超福利久久精品| 精品久久久久久久免费加勒比| 亚洲成aⅴ人在线观看| 97无码免费人妻超级碰碰夜夜| 亚洲伊人tv综合网色| 在线观看av永久免费| 日日躁狠狠躁狠狠爱免费视频| 好吊妞998视频免费观看在线| 美女被免费网站在线视频免费| 亚洲人成精品久久久久| 波多野结衣中文字幕免费视频 | 57pao国产成视频免费播放 | 亚洲a∨无码男人的天堂| 国产成人无码区免费A∨视频网站| 成人无码区免费A∨直播| 亚洲国产成人久久综合区| 豆国产96在线|亚洲| 国产在线19禁免费观看国产|