空間站

          北極心空

            BlogJava :: 首頁(yè) :: 聯(lián)系 :: 聚合  :: 管理
            15 Posts :: 393 Stories :: 160 Comments :: 0 Trackbacks

          Appfuse是一個(gè)開(kāi)源的J2EE開(kāi)發(fā)框架,可以使用它對(duì)Spring、Hibernate、Struts、Tapestry、Ant、Xdoclet、Junit、Log4j等進(jìn)行集成,以簡(jiǎn)潔快速地構(gòu)建項(xiàng)目開(kāi)發(fā)框架。Appfuse是一個(gè)項(xiàng)目骨架,類似于通過(guò)向?qū)?chuàng)建新Web項(xiàng)目時(shí)IDE所創(chuàng)建的東西。Appfuse可以支持Hibernate或iBATIS作為持久性框架。對(duì)于Web框架來(lái)說(shuō),我們可以使用JSF(JavaServer Faces)、Spring MVC、Struts、Tapestry 或 WebWork。在開(kāi)發(fā)應(yīng)用時(shí)Appfuse與樓上3.0的代碼機(jī)有些類似,對(duì)于單表的增刪查改維護(hù),可以用Ant直接生成對(duì)應(yīng)的JSP和Java代碼,然后可以在此基礎(chǔ)上進(jìn)行修改以實(shí)現(xiàn)自己的業(yè)務(wù)功能,方便了應(yīng)用的開(kāi)發(fā)。

          下面一個(gè)關(guān)于員工信息管理的例子演示了如何使用Appfuse快速構(gòu)建J2EE應(yīng)用:

          1、 搭建開(kāi)發(fā)環(huán)境:
          下載JDK、Tomcat、Eclipse、MySQL、Appfuse、Ant等,配置Path、JAVA_HOME、CATALINA_HOME、ANT_HOME等環(huán)境變量。

          2、建立項(xiàng)目并創(chuàng)建數(shù)據(jù)庫(kù)
          在Appfuse目錄下運(yùn)行ant new新建項(xiàng)目,將項(xiàng)目導(dǎo)入Eclipse。在項(xiàng)目build.properties文件中配置數(shù)據(jù)庫(kù)連接,在\\metadata\sql\mysql-create.sql中配置數(shù)據(jù)庫(kù)創(chuàng)建語(yǔ)句。運(yùn)行ant setup test-all。此命令中“setup”完成了很多“設(shè)置”工作:創(chuàng)建數(shù)據(jù)庫(kù)、構(gòu)建dao和serive類、加載樣本數(shù)據(jù)、創(chuàng)建war文件并部署到Tomcat。“test-all”運(yùn)行所有的測(cè)試用例:對(duì)dao、service、頁(yè)面的測(cè)試。啟動(dòng)Tomcat訪問(wèn)應(yīng)用,會(huì)發(fā)現(xiàn)只運(yùn)行了一次Ant腳本,但是系統(tǒng)已經(jīng)擁有“用戶管理”、“郵件”、“文件上傳”等功能,這就是Appfuse開(kāi)箱即用、快速開(kāi)發(fā)的優(yōu)勢(shì)。

          3、創(chuàng)建employee表并使用appgen自動(dòng)生成代碼
          AppGen可以生成絕大部分我們需要的代碼,比如dao類,service類,菜單、增刪改的web 頁(yè)面、配置文件、樣本數(shù)據(jù),等等。AppGen利用XDoclet生成代碼,因此可以在extras/appgen/src看到很多.xdt文件,這些就是XDoclet的模版定義文件。如果希望自己編寫(xiě)dao和service類,就運(yùn)行“install”這個(gè)target,否則就使用“install-detailed”。
          在MySQL中創(chuàng)建運(yùn)行install-detailed,并手工將Employee.hbm.xml添加到配置文件applicationContext-hibernate.xml中。運(yùn)行ant deploy,打開(kāi)頁(yè)面,員工維護(hù)功能已經(jīng)添加到頁(yè)面中了。

          4、根據(jù)項(xiàng)目需求調(diào)整代碼
          語(yǔ)言國(guó)際化:在資源文件里定義國(guó)際化文字,Appfuse會(huì)在Ant腳本運(yùn)行的時(shí)候根據(jù)本地區(qū)域和語(yǔ)言設(shè)置,自動(dòng)用native2ascii進(jìn)行編碼轉(zhuǎn)換。

          頁(yè)面布局和樣式:Appfuse 使用CSS框架來(lái)定義頁(yè)面布局和樣式,文件存放在\\web\styles中,我們可以仿照樣例格式,在其中定義自己的主題文件。系統(tǒng)使用的主題由web\WEB-INF\web.xml中的“theme”參數(shù)指定。

          系統(tǒng)安全:Appfuse使用Acegi進(jìn)行安全管理。Acegi的配置信息位于\\web\WEB-INF\classes\security.xml。Acegi是被集成到Spring當(dāng)中的,因此這個(gè)文件是Spring 的配置文件格式。在\\web\WEB-INF\web.xml中,該文件被指定在應(yīng)用啟動(dòng)前會(huì)被加載。

          事務(wù)控制:Appfuse利用Spring進(jìn)行事務(wù)管理。Spring可以以聲明的方式,對(duì)方法進(jìn)行事務(wù)控制,并且可以根據(jù)實(shí)際的需要,調(diào)整控制粒度。“聲明方式”的好處在于:核心代碼只需要關(guān)注業(yè)務(wù)邏輯,而將事務(wù)控制完全交由配置文件管理,一方面是核心代碼簡(jiǎn)潔清晰,另一方面也便于進(jìn)行集中配置管理。Spring 提供了大量的參數(shù)和選項(xiàng)使開(kāi)發(fā)者能夠靈活地管理事務(wù)。

          日志:Appfuse集成了Log4j進(jìn)行日志管理,log4j.properties位于\\web\WEB-INF\classes目錄下。Appfuse已經(jīng)在絕大多數(shù)基類中加入了如下用于輸出日志的成員變量:
          protected final Log log = LogFactory.getLog(getClass());
          因此,開(kāi)發(fā)者只需要在自己的代碼中調(diào)用log方法就可以了,例如:“log.debug("entered 'update' method");”。

          posted on 2007-08-03 10:55 蘆葦 閱讀(571) 評(píng)論(0)  編輯  收藏 所屬分類: JAVA
          主站蜘蛛池模板: 马边| 原平市| 卓资县| 成武县| 闽侯县| 武冈市| 峨山| 泰州市| 新乡县| 澄江县| 疏勒县| 孝义市| 西华县| 龙海市| 周宁县| 罗田县| 嫩江县| 略阳县| 巫溪县| 定远县| 静海县| 陕西省| 龙岩市| 同心县| 阜阳市| 呼和浩特市| 衡东县| 彩票| 北海市| 宣化县| 淮北市| 仁化县| 交城县| 庆元县| 宜宾市| 盈江县| 镇安县| 泸西县| 永登县| 石阡县| 曲水县|