EasyJWeb作為一個(gè)開源項(xiàng)目,我們首先來看看與其相關(guān)的資源:
官方網(wǎng)站:http://www.easyjf.com/easyjweb
EasyJWeb協(xié)同開發(fā)源碼庫(kù)SVN:ttp://svn.easyjf.com/repository/easyjf/easyjweb/trunk
EasyJWeb源碼http下載:http://www.easyjf.com/easyjweb/download.htm
進(jìn)入快速體驗(yàn),步驟如下:
1、 下載最新源碼并解壓;
2、 在命令行執(zhí)行bin\easyjweb crud d:\myppp
3、 切換到d:\mypp\bin目錄,執(zhí)行sample
4、 通過http://localost:82/ejf/account/list查看運(yùn)行效果。
下面分別簡(jiǎn)單介紹,在拿到了EasyJWeb的源碼后,解壓后會(huì)提到如下的目錄結(jié)構(gòu):
使用命令行,切換到bin目錄,執(zhí)行easyjweb crud d:\myapp命令。(如果是第一次執(zhí)行,如果只下載了EasyJWeb所依賴jar庫(kù),則需要稍為等一會(huì)兒,系統(tǒng)會(huì)到網(wǎng)上下載使用EasyJWeb+Spring2+JPA應(yīng)用所依賴的包)。
稍等一會(huì)就能看到一個(gè)在d:\myapp目錄下生成了一個(gè)基于EasyJWeb+Spring2+JPA的Crud應(yīng)用目錄。myapp的目錄結(jié)構(gòu)大致如下:
命令行進(jìn)入d:\mypp\bin目錄,可以看到如下的目錄結(jié)構(gòu):
bin目錄中都是EasyJWeb快速開發(fā)提供的一些腳本及命令,包括數(shù)據(jù)庫(kù),Web服務(wù)器,代碼生成,示例應(yīng)用等。
直接輸入sample,按回車會(huì)進(jìn)入EasyJWeb的代碼生成示例引擎,執(zhí)行代碼生成、編譯、發(fā)布、運(yùn)行并啟動(dòng)瀏覽器查看結(jié)果的快速體驗(yàn)流程。這樣一個(gè)基于EasyJWeb+JPA+Spring的企業(yè)級(jí)應(yīng)用添加改查(CRUD)示例就運(yùn)行起來了。如下圖所示:
(代碼生成提示信息)
(自動(dòng)彈出瀏覽器顯示運(yùn)行結(jié)果)
(執(zhí)行添刪改查等操作)
通過操作生成的運(yùn)用程序,我們發(fā)現(xiàn)該骨架應(yīng)用包括了添刪改查、分頁(yè)、按屬性排序,服務(wù)器端自動(dòng)驗(yàn)證等非常實(shí)用的操作。
在項(xiàng)目的\src\main\java目錄下面可以查看到生成的源代碼,其中Entity Account.java的代碼如下圖:
(Account.java的源碼)
EasyJWeb-1.0使用maven來進(jìn)行持續(xù)集成及開發(fā),你可以根據(jù)需要使用maven來進(jìn)行具體的構(gòu)建工作。比如下面的命令:
maven compile 執(zhí)行編譯當(dāng)前的項(xiàng)目
maven jar:jar 編譯當(dāng)前項(xiàng)目并發(fā)布成jar包
maven war:war 編譯當(dāng)前Web應(yīng)用項(xiàng)目并發(fā)布成war包
EasyJWeb在maven的基礎(chǔ)上,提供了一些簡(jiǎn)化后的命令腳本,使你能根據(jù)需要快速上手項(xiàng)目:
easyjweb blank d:\myapp 生成一個(gè)空的EasyJWeb項(xiàng)目,只需要為數(shù)非常少的jar。
easyjweb crud d:\mypp 生成一個(gè)基于EasyJWeb+Spring+JPA的項(xiàng)目,包含相關(guān)的代碼生成腳本、工具以及需要的相關(guān)的jar。
easyjweb curd d:\myapp -dbo生成一個(gè)基于EasyJWeb+EasyDBO的項(xiàng)目,并包含代碼生成腳本等,生成的是基于EasyDBO的CRUD應(yīng)用。
在生成的Crud應(yīng)用項(xiàng)目中,我們可以使用bin下面的generator命令來生成包括添刪改查在內(nèi)的各種通用代碼。如:
generator entity entity的描述信息 -根據(jù)實(shí)體的描述信息,生成添刪改查應(yīng)用。
generator domain domainFullName根據(jù)domainFullName域?qū)ο髞砩稍撚驅(qū)ο蟮奶韯h改查應(yīng)用。