konhon

忘掉過去,展望未來。找回自我,超越自我。
逃避不一定躲的过, 面对不一定最难过, 孤单不一定不快乐, 得到不一定能长久, 失去不一定不再拥有, 可能因为某个理由而伤心难过, 但我却能找个理由让自己快乐.

Google

BlogJava 首页 新随笔 联系 聚合 管理
  203 Posts :: 0 Stories :: 61 Comments :: 0 Trackbacks

spring xdoclet使用

手工书写spring-beans.xml非常繁琐,而且如果多个程序员同时进行一个项目的时候,即使分成多个spring文件,也很容易会产生冲突,更别说经常遇到的错误和程序升级问题了,还好最新的Xdoclet可以帮助我们解决这个烦恼,在最新的Xdoclet中已经包含了对srping的支持,即srpingdoclet。如下是例子:

1、下载ant,从jakarta.apache.org
安装在c:\dev\ant,安装过程就不详细说了,如果ant都不懂,那看来您有些落伍了,也先别往下看了,学习一下ant先

2、下载xdoclet,当然是xdoclet.sf.net了,下载后把lib的东西放置到
c:\dev\ant\lib\xdoclet

3、java 代码
只是个例子而已
===================================================================
XdocletMain.java :
===================================================================
代码:

/**
 * Created by IntelliJ IDEA.
 * User: wangzy
 * Date: 2004-12-5
 * @spring.bean
 *  id="XdocletMain"
 *  singleton="true"
 * 上述说明,这是个spring的bean,id为XdocletMain,如果看不懂,再补习一下xdoclet
 * @spring.property
 *      name="bean1"
 *      ref="Bean1"
 * 上述说明,有个bean1属性,关联的为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"
 * 声明一个Bean1的spring组件
 */
public class Bean1 {
   
}

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

===================================================================
代码:

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

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

下来当然就是最重要的ant的build.xml了,其中相关部分为:
代码:

<!--这里是xdoclet的lib,这些都不是ant的core包,所以要引进来 -->
<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"
    />
    <!--这里根据src下的java文件中的信息,生成spring-beans.xml到“spring/spring-beans.xml”文件中-->
    <springdoclet destdir="spring">
        <fileset dir="src" includes="**/*.java" />
        <springxml destinationFile="spring-beans.xml" />
    </springdoclet>
</target>



运行ant springdoclet,看看spring/spring-beans.xml文件,大功告成!!!
具体详细信息可以看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 2006-12-05 21:05 konhon 优华 阅读(673) 评论(1)  编辑  收藏 所属分类: Spring

Feedback

# re: spring xdoclet 2016-08-10 04:25 不要告诉我你不知道
已经过去了10年了,虽然很喜欢你的写作风格,但是不敢去尝试。。。。。其实我现在很想知道你现在过的怎么样?哈哈哈。。。。  回复  更多评论
  


只有注册用户登录后才能发表评论。


网站导航: