天天看點

Spring ROO初體驗

準備工作:

體驗步驟:

建立Spring Roo基礎項目

<a href="http://s3.51cto.com/wyfs02/M00/12/01/wKioL1LyZdeS797iAAOg4XolFMY114.jpg" target="_blank"></a>

生成持久層

1

<code>jpa setup --provider HIBERNATE --database H2_IN_MEMORY</code>

指令執行後我們可以看到新增加或更新以下内容:

1)增加database.properties檔案

2)增加persistence.xml檔案

3)更新applicationContext.xml問價

4)更新Maven依賴

接着再次輸入hint,ROO會提示我們建立實體,我們再次打開指令向導,敲入entity,向導提示class參數是必須的,這裡我們輸入Card作為我們要建立的Class,然後按Finish,ROO就會自動幫我們在頂層包下生成Card實體類,同時還會生成AspectJ的相關類,這些類主要給ROO使用,可以先不必理會。

我們假設一張卡有卡号,客戶号和餘額三個屬性,目前Card類沒有任何屬性,顯然不能滿足我們的需求,再次輸入hint指令,ROO提示使用field指令給實體增加屬性,我們依賴使用指令向導來添加這三個屬性,值得注意的是可選項,有些驗證的可選項我們可以直接使用。糟糕,field指令執行不成功,原來comment的值需要加雙引号.field指令很強大,如果表有關聯,我們可以使用field reference指令向導來完成。

<a href="http://s3.51cto.com/wyfs02/M01/12/01/wKioL1LyZoiCl3PYAANKQoc2GDk282.jpg" target="_blank"></a>

接着使用repository jpa指令向導來建立一個實作CRUD操作的簡單Repository,這個指令很神奇,ROO會自動使用AspectJ和Spring Data來完成基本的CRUD操作實作,而CardRepository類隻是加簡單的注解@RooJpaRepository(domainType = Card.class),不再需要任何實作,雖然簡單友善,但也可以看出項目已經跟ROO綁定。

至此我們完成了一個簡單的持久層,使用指令向導還是挺友善的。

生成服務層

再次使用hint指令,ROO可以增加更多實體或者field,或者建立Web MVC Controller等,但沒有服務層相關提示,我們可以使用指令向導,輸入service,選擇service type來建立服務接口CardService和實作類CardServiceImpl,指令執行後ROO也會自動生成相關的AspectJ類來維護Repositoryde的CRUD調用,是以我們隻需要再增加其它特殊操作就可以了。

生成展示層

<a href="http://s3.51cto.com/wyfs02/M00/12/02/wKiom1LyZvLwNN-KAAFaolfoN5Y650.jpg" target="_blank"></a>

<a href="http://s3.51cto.com/wyfs02/M02/12/01/wKioL1LyZs6QNa5gAAFHhuVMEvg611.jpg" target="_blank"></a>

太棒了,基本的CRUD都支援了。

生成安全支援

在從指令向導輸入"security",選擇"security setup",然後點選Finish,該指令将為我們生成一個登陸頁面和基本的驗證資訊,太神奇了,趕快也試試吧!

<a href="http://s3.51cto.com/wyfs02/M00/12/01/wKioL1LyZvODMkBSAAFYF19xH-M863.jpg" target="_blank"></a>

小結:

第一次使用還是蠻順手,非常适合建立簡單測試項目,ROO腳本可以儲存成檔案,這樣下次直接執行就可以自動建立一個同樣的項目了,另外ROO還提供了很多插件可以幫忙簡化更多開發工作,有待進一步探索,還有一點就是項目維護問題,既然代碼都是自動生成的,免不了重構,不知道重構支援如何,繼續考察。

     本文轉自sarchitect 51CTO部落格,原文連結:http://blog.51cto.com/stevex/1356903,如需轉載請自行聯系原作者