手工書寫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 閱讀(2271)
評論(3) 編輯 收藏 所屬分類:
Open source