posts - 15,  comments - 34,  trackbacks - 27
          手工書(shū)寫(xiě)spring-beans.xml非常繁瑣,而且如果多個(gè)程序員同時(shí)進(jìn)行一個(gè)項(xiàng)目的時(shí)候,即使分成多個(gè)spring文件,也很容易會(huì)產(chǎn)生沖突,更別說(shuō)經(jīng)常遇到的錯(cuò)誤和程序升級(jí)問(wèn)題了,還好最新的Xdoclet可以幫助我們解決這個(gè)煩惱,在最新的Xdoclet中已經(jīng)包含了對(duì)srping的支持,即srpingdoclet。如下是例子:

          1、下載ant,從jakarta.apache.org
          安裝在c:\dev\ant,安裝過(guò)程就不詳細(xì)說(shuō)了,如果ant都不懂,那看來(lái)您有些落伍了,也先別往下看了,學(xué)習(xí)一下ant先

          2、下載xdoclet,當(dāng)然是xdoclet.sf.net了,下載后把lib的東西放置到
          c:\dev\ant\lib\xdoclet

          3、java 代碼
          只是個(gè)例子而已
          ===================================================================
          XdocletMain.java :
          ===================================================================
          代碼:

          /**
           * Created by IntelliJ IDEA.
           * User: wangzy
           * Date: 2004-12-5
           * @spring.bean
           *  id="XdocletMain"
           *  singleton="true"
           * 上述說(shuō)明,這是個(gè)spring的bean,id為XdocletMain,如果看不懂,再補(bǔ)習(xí)一下xdoclet
           * @spring.property
           *      name="bean1"
           *      ref="Bean1"
           * 上述說(shuō)明,有個(gè)bean1屬性,關(guān)聯(lián)的為Bean1的spring組件
           * @spring.property
           *     name="bean2"
           *     ref="Bean2"
           * 同上
           */
          public class XdocletMain {

              public Bean1 getBean1() {
                  return bean1;
              }

              public void setBean1(Bean1 bean1) {
                  this.bean1 = bean1;
              }

              public Bean2 getBean2() {
                  return bean2;
              }

              public void setBean2(Bean2 bean2) {
                  this.bean2 = bean2;
              }

              private Bean1 bean1 = null;

              private Bean2 bean2 = null;
             
          }

          ===================================================================

          Bean1.java :
          ===================================================================
          代碼:

          /**
           * Created by IntelliJ IDEA.
           * User: wangzy
           * Date: 2004-12-5
           * @spring.bean
           *      id="Bean1"
           *      singleton="true"
           * 聲明一個(gè)Bean1的spring組件
           */
          public class Bean1 {
             
          }

          ===================================================================
          Bean2.java :

          ===================================================================
          代碼:

          /**
           * Created by IntelliJ IDEA.
           * User: wangzy
           * Date: 2004-12-5
           * @spring.bean
           *      id="Bean2"
           *      singleton="true"
           * 類(lèi)似Bean1
           */
          public class Bean2 {
          }

          ===================================================================

          下來(lái)當(dāng)然就是最重要的ant的build.xml了,其中相關(guān)部分為:
          代碼:

          <!--這里是xdoclet的lib,這些都不是ant的core包,所以要引進(jìn)來(lái) -->
          <path id="xdoclet.class.path">
              <fileset dir="c:\dev\ant\lib\xdoclet">
                  <include name="*.jar"/>
              </fileset>
          </path>

          <!--這里就是生成spring-beans配置了 -->
          <target name="srpingdoclet">
              <!--定義springdoclet task -->   
              <taskdef
                  name="springdoclet"
                  classname="xdoclet.modules.spring.SpringDocletTask"
                  classpathref="xdoclet.class.path"
              />
              <!--這里根據(jù)src下的java文件中的信息,生成spring-beans.xml到“spring/spring-beans.xml”文件中-->
              <springdoclet destdir="spring">
                  <fileset dir="src" includes="**/*.java" />
                  <springxml destinationFile="spring-beans.xml" />
              </springdoclet>
          </target>



          運(yùn)行ant springdoclet,看看spring/spring-beans.xml文件,大功告成!!!
          具體詳細(xì)信息可以看xdoclet文檔

          代碼:


          <?xml version="1.0" encoding="UTF-8"?>

          <!DOCTYPE beans PUBLIC
              "-//SPRING//DTD BEAN//EN"
              "http://www.springframework.org/dtd/spring-beans.dtd">

          <beans
            default-autowire="no"
            default-lazy-init="false"
            default-dependency-check="none"
          >

            <bean
                id="Bean1"
                class="Bean1"
                singleton="true"
            >

            </bean>

            <bean
                id="XdocletMain"
                class="XdocletMain"
                singleton="true"
            >

              <property name="bean1">
                <ref bean="Bean1"/>
              </property>
              <property name="bean2">
                <ref bean="Bean2"/>
              </property>
            </bean>

            <bean
                id="Bean2"
                class="Bean2"
                singleton="true"
            >

            </bean>

            <!--
               To include additional bean definitions for Spring in the generated
               application context file, add a file to your XDoclet merge directory
               called spring-beans.xml that contains the <bean></bean> markup.
            -->

          </beans>

          posted on 2005-02-04 11:14 jacky 閱讀(2280) 評(píng)論(3)  編輯  收藏 所屬分類(lèi): Open source

          FeedBack:
          # re: spring xdoclet使用
          2005-03-01 09:20 | 楊雄輝
          我發(fā)現(xiàn)Spring Xdoclet 無(wú)法出來(lái) bean的parent屬性。
            回復(fù)  更多評(píng)論
            
          # re: spring xdoclet使用
          2005-05-16 16:57 | hello
          能否用xdoclet實(shí)現(xiàn)transaction或是datasource等配置  回復(fù)  更多評(píng)論
            
          # re: spring xdoclet使用
          2005-07-10 13:36 | @_@
          否用xdoclet實(shí)現(xiàn)transaction或是datasource等配置

          這個(gè)用meger
          在ant中有設(shè)置
          megerdir的
          在這個(gè)dir下放spring-beans.xml
          自動(dòng)會(huì)合并到了你要的配置文件中間去
            回復(fù)  更多評(píng)論
            
          <2025年7月>
          293012345
          6789101112
          13141516171819
          20212223242526
          272829303112
          3456789

          常用鏈接

          留言簿(10)

          隨筆檔案

          文章分類(lèi)

          文章檔案

          相冊(cè)

          收藏夾

          java

          搜索

          •  

          最新評(píng)論


          主站蜘蛛池模板: 卓尼县| 胶南市| 循化| 章丘市| 揭西县| 天水市| 饶平县| 玉林市| 腾冲县| 奈曼旗| 娄底市| 台江县| 日喀则市| 靖州| 阿鲁科尔沁旗| 昌邑市| 柘城县| 桦川县| 崇仁县| 巨野县| 杨浦区| 佛坪县| 广丰县| 平遥县| 曲水县| 淳安县| 汾西县| 绵竹市| 大名县| 宜城市| 永年县| 茂名市| 白银市| 沛县| 阳山县| 曲松县| 佛教| 嘉定区| 启东市| 兴化市| 扬州市|