手工书写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 2005-02-04 11:14 
jacky 阅读(2294) 
评论(3)  编辑  收藏  所属分类: 
Open source