Spring Roo 簡介,第 1 部分: 從源代碼構建

Shekhar Gulati, 高級顧問, Xebia

簡介: Spring Roo 是針對 Java™ 技術的一個輕量級生產力工具,可快速便捷地開發基於 Spring 的應用程序。使用 Spring Roo 建立的應用程序遵循 Spring 最佳實踐,且基於 JPA、Bean Validation (JSR-303) 和 Dependency Injection (JSR-330) 等標準。Roo 提供一個使用方便、上下文感知、由標籤完成的 shell 構建應用程序。Spring Roo 可擴展且支持附件,進一步加強了其功能。本文介紹 Spring Roo 並提供在 Windows® 和 *nix 系統上編譯 Spring Roo 源代碼的分佈指導。 html

簡介 java

Spring 框架於 2002 年年末發佈,目的在於簡化 J2EE(目前是 JavaEE)開發。在過去 8 年中,Spring 成功完成了該使命,提供了 Java 社區框架或功能,好比 Spring Security、Spring MVC、事務管理、Spring 批處理和 Spring 集成,這都易於理解和使用。Spring 但願讓 Java 開發人員的工做更輕鬆、更富成效。爲此,Spring 建立了一個名爲 Spring Roo 的開發工具。 git

Spring Roo(參見 參考資料)是針對 Java 技術的一個可擴展的、基於文本的開源 RAD 工具。它是用於建立和管理基於 Spring 的應用程序的一個強大資源。這裏是任務說明: web

Roo 的任務是從根本上可持續地改善 Java 開發人員的生產效率,而無損工程完整性和靈活性。

這一要求轉換爲構建於 Java 技術之上的一種工具,可持續地增長項目整個生命週期的生產效率,且不限定開發人員使用某一特定方法。Spring Roo 使用流行、可靠和成熟的庫,好比 Spring 框架、Java 持久化 API、Java Server Pages (JSP)、Spring Security、Spring Web Flow、Log4J 和 Maven。Roo 生成的應用程序使用 Bean Validation (JSR-303) 和 Dependency Injection (JSR-330) 這樣的標準,且遵循最佳實踐 SpringSource 認證的應用程序架構。 spring

使用 Spring Roo,您能夠添加和配置 JPA、Spring MVC、Spring Security 等功能,使用 Log4j 進行日誌記錄,測試 JUnit 和 Selenium、Solr、JMS、電子郵件等框架,僅需在 Roo shell 上輸入命令便可。使用 Roo 添加這些功能節省的時間提升了開發人員的生產效率。Roo 不能編寫業務邏輯,但能夠管理應用程序的基礎結構或配置。 shell

Roo 是一個開發時間工具,這意味着應用程序在運行時獨立於 Roo。因爲 Roo 在運行時不存在,它沒有任何性能或內存開銷。這確保您不依賴於 Spring Roo,您只需幾個按鍵便可隨時從您的項目中刪除 Roo。 數據庫

本文討論如何使用 Roo shell 構建簡單的 web 應用程序,並展現如何在 Windows 或 Ubuntu 機器上編譯 Spring Roo 源代碼。 apache


開始使用 Roo shell 編程

經過加載 Roo shell 並使用命令與之交互,您能夠管理和配置應用程序。Roo Shell 是一個製表完成的、上下文感知的、提供提示的命令 shell。您可使用 hint 命令詢問 Spring Roo 您的下一步邏輯操做。Roo 足夠智能,可經過斷定應用程序上下文建議下一步行動。例如,比方說您使用 entity 命令建立了一個實體。而後輸入 hint 命令。Roo 會告訴您應當使用 field 將字段添加到您的實體。該特性減小了 Roo 的概念權重,使其成爲一個優秀的學習工具。您能夠跟隨 Roo help 和 hint 命令建立徹底的應用程序,無需參考文檔。 windows

先決條件

在開始使用 Roo 以前,確保您安裝了:

  1. Java V6 JDK
  2. Apache Maven V2.0.9 或更高

安裝 Spring Roo

要安裝獨立的 Spring Roo:

  1. 您能夠下載 Roo 獨立命令行 shell 或使用內置的 Roo SpringSource Tool Suite (STS) 插件。我建議二者都下載並一塊兒使用,由於 STS 爲基於 Spring 的應用程序經過 Eclipse 提供許多額外功能。
    1. Spring Roo
    2. SpringSource Tool Suite
  2. 解壓 Spring Roo 到選定位置。
  3. 設置環境變量:
    1. 在一臺 Windows 機器上,添加 %ROO_HOME% /bin 到這樣的路徑:其中 ROO_HOME 是解壓的 Roo 文件的路徑。
    2. 在一臺 *nix 機器上,建立到 $ROO_HOME/bin/roo.sh 的一個符號連接

      (例如,sudo ln -s ~/spring-roo-1.x.x/bin/roo.sh /usr/bin/roo)

構建應用程序

爲向您展現 Roo 的強大功能,讓咱們建立一個簡單的企業會議應用程序。一個會議應用程序有兩個實體:Speaker 和 Talk。一個 Speaker 能夠提供一次或屢次講話,且 Talk 將僅由一個發言人提供。簡單的類圖如圖 1 所示。


圖 1. 類圖 Speaker Talk
圖表顯示 Speaker 的元素(firstName、lastName 等)與 Talk 元素(標題和描述)相關  

建立應用程序:

  1. 打開操做系統命令行 shell。
  2. 使用 mkdir 命令建立一個名爲 conference 的目錄。
  3. 轉到您的 shell 中的 conference 目錄。
  4. 輸入 roo。該命令將啓動 Roo shell,如清單 1 所示。

清單 1. 啓動 Roo shell
C:\Users\xebia\demo\conference>roo
    ____  ____  ____
   / __ \/ __ \/ __ \
  / /_/ / / / / / / /
 / _, _/ /_/ / /_/ /
/_/ |_|\____/\____/       1.1.B.RELEASE [rev 793f2b0]
Welcome to Spring Roo. For assistance press TAB or type "hint" then hit ENTER.
roo>

既然咱們在 Roo shell 內部,咱們將使用 Roo 的 hint 命令來引導接下來的步驟。hint 建議使用 project 建立一個新的基於 Maven 的 Spring 項目(參見清單 2)。


清單 2. 使用 Roo shell 中的 hint
Welcome to Spring Roo. For assistance press TAB or type "hint" then hit ENTER.
roo> hint
Welcome to Roo! We hope you enjoy your stay!
Before you can use many features of Roo, you need to start a new project.

To do this, type ’project’ (without the quotes) and then hit TAB.

Enter a --topLevelPackage like ’com.mycompany.projectname’ (no quotes).
When you're finished completing your --topLevelPackage, press ENTER.
Your new project will then be created in the current working directory.

Note that Roo frequently allows the use of TAB, so press TAB regularly.
Once your project is created, type ’hint’ and ENTER for the next suggestion.
You're also welcome to visit http://forum.springframework.org`for Roo help.
roo>

正如 hint 命令所建議的,咱們將使用 project 命令建立一個項目。該命令有一個必要屬性 topLevelPackage,用於指定根程序包的名稱。除了必要屬性以外,咱們將使用兩個可選屬性:java(指定 Java 版本)和 projectName(指定項目名稱)。輸入如下內容:

project --topLevelPackage com.dw.roo.conference --java 6 --projectName conference

該命令將建立一個 Maven V2 管理的基於 Spring 的項目,如如下輸出所示:

Created C:\Users\xebia\demo\conference\pom.xml
	Created SRC_MAIN_JAVA
	Created SRC_MAIN_RESOURCES
	Created SRC_TEST_JAVA
	Created SRC_TEST_RESOURCES
	Created SRC_MAIN_WEBAPP
	Created SRC_MAIN_RESOURCES\META-INF\spring
	Created SRC_MAIN_RESOURCES\META-INF\spring\applicationContext.xml
	Created SRC_MAIN_RESOURCES\log4j.properties

再次輸入 hint 向 Roo 詢問下一步行動。此次它建議創建持久化機制。在 shell 上輸入 persistence setup 並按下 Tab 三次。您會得到 --provider 選項。按下 H 而後按下 Tab 完成 「HIBERNATE」。在提供者以後,按下 tab 選擇數據庫,您會看到有大量選項。由於咱們使用 Hibernate 做爲咱們的提供者,咱們不能選擇非關係型數據庫,好比 Google App Engine。如今,我打算使用 HYPERSONIC_IN_MEMORY 數據庫。

persistence setup --provider HIBERNATE --database HYPERSONIC_IN_MEMORY

還有其餘可選屬性,好比用戶名和密碼,此次咱們不須要這些。

如今咱們已經創建了持久化機制,咱們將再次使用 hint 命令。此次咱們被告知要使用 entity 命令建立實體。Entity 用於建立實際域對象,且有一個必要屬性 class,用於指定實體的名稱。除了必需的 --class 屬性,咱們還將使用 --testAutomatically 屬性,該屬性爲域對象建立集成測試。讓咱們建立兩個實體:Speaker 和 Talk。

entity --class ~.domain.Speaker –testAutomatically
	
	entity --class ~.domain.Talk --testAutomatically

我使用了 ~ 做爲項目頂級程序包的佔位符。

Entity 將建立一個靈活的、特性豐富的 JPA 實體。所建立的實體將有 JPA @Entity ,帶有 ID、版本、EntityManager 和無參數的構造函數。所生成的實體將擁有 persist、merge、remove、flush、count、find 和 findById 等方法。若是看一下該命令的輸出,您會注意到該命令除了建立 Java 文件(爲 Speaker 和 Talk),還建立了以 *Roo_*.aj 結尾的 AspectJ 文件。這些 *Roo_*.aj 稱爲 Intertype Declaration (ITD)、Mixins 或 Introductions。Roo 將 ITD 做爲一個代碼生成的工件。ITDs 容許 Roo 在一個單獨的編譯單元中生成代碼,但 ITDs 在編譯時被合併成同一個編譯類。AspectJ intertype 聲明用於自動生成 ID 和版本字段,以及域類中持久化字段的 getters 和 setters。

再次使用 hint 提供建議,根據建議使用 field 命令將字段添加到實體。讓咱們給 Speaker 實體添加一些字段:

field string --fieldName firstname --class ~.domain.Speaker --notNull 
	field string --fieldName lastname --notNull 
	field string --fieldName email --unique --notNull 
	field string --fieldName organization 
	field date --fieldName birthdate --type java.util.Date --past --notNull 
	field number --type java.lang.Long --fieldName age --min 25 --max 60

--class 選項容許咱們指定向哪一個類添加字段。

field 命令可用於指定特定於 JavaBean 驗證的註釋,含有 --max 和 --min 等選項。它還可用於指定特定於 JPA 的註釋,含有 --fetch、--column 和 --unique 等選項。對於日期字段,您還能夠指定日期應當是過去仍是未來,正如上面使用的。使用 field,您無需記住這些註釋。

如今讓咱們向 Talk 實體添加一些字段:

field string --fieldName title --class ~.domain.Talk --notNull 
	field string --fieldName description --notNull --sizeMax 4000

目前爲止,咱們建立了實體並向其添加了字段,可是咱們沒有指定它們之間的關係。Speaker 與 Talk 之間的關係是 ONE_TO_MANY(例如,一個發言人可發表屢次講話)。這經過 field 完成,以下所示:

field set --fieldName talks --element ~.domain.Talk --class \
~.domain.Speaker --cardinality ONE_TO_MANY
	
	field reference --fieldName speaker --type ~.domain.Speaker \
--class ~.domain.Talk –notNull

如今咱們想爲會議應用程序 scaffold(搭建) 一個 web 層,可經過 controller 命令完成。生成控制器和全部相關 web 工件最方便的方式是使用 controller all。

controller all --package ~.web

第一次使用控制器命令還會添加額外的依賴項到您的項目中,好比 Spring MVC 和 Tiles。這可能須要一些時間來運行,由於它須要下載全部依賴項(若是它們不存在於您的 Maven 存儲庫中)。該命令還展現 Roo 的功能之一:只有在須要依賴項時才予以添加。

下一步,咱們將使用 logging 命令創建 log4j。

logging setup --level INFO --package ALL_SPRING

退出 Roo shell 以前應作的最後一件事是,當咱們使用 entity 命令指定了 --testAutomatically 時,運行生成的集成測試。要從 shell 中運行測試,輸入 perform tests。

Roo 將調用委託給 Maven 來運行測試,所以 perform tests 等同於 mvn test 命令。輸入 q 或 quit 退出 shell。

這些命令將建立一個功能齊全的會議應用程序。接下來咱們將運行這個應用程序。

要運行該應用程序,輸入 mvn tomcat:run,這將啓動 jetty 服務器。打開 web 瀏覽器並轉至 http://localhost:8080/conference/。您會看到圖 2 中的屏幕。


圖 2. 會議應用程序主頁
瀏覽器中會議應用程序的屏幕截圖,左邊爲菜單項,右邊爲內容  

您能夠單擊 Create new Speaker 建立一個會議發言人。您還能夠單擊 List all Speakers 來查看、編輯和刪除用戶。以一樣的方式,您能夠建立一個 Talk,可是必須在建立 Speaker 以後。

這是一個簡單的應用程序,可是它展現如何在數分鐘內從頭輕鬆建立一個新的基於 Spring 的 web 應用程序。在本系列的第 2 部分,我將向您展現如何使用不一樣的 Roo 功能和附加組件構建應用程序。

如今咱們已經建立了一個簡單的應用程序,我將向您展現如何在 Windows 和 Ubuntu 上編譯 Spring Roo 源代碼。


從源代碼構建 Spring Roo

Spring Roo V1.1.0 是最新發布版本,目前正在積極開發 V1.1.1 版本。您可能須要從源代碼構建 Spring Roo 的緣由以下:

  1. Spring Roo 不提供夜間構建,所以若是您但願使用 Spring Roo 的最新功能,就須要編譯 Spring Roo 的源代碼。
  2. 您但願爲 Spring Roo 項目作任何類型的開發。
  3. 您但願爲 Spring Roo 編寫附加組件。
  4. 您只但願把玩一下 Spring Roo 代碼,看看它是如何實現或編寫的。

結果

在本部分結尾,您將可以在 Windows 和 *nix 系統上成功運行最新 Spring Roo 源代碼的 Maven 版本。您將可以使用最新的 Spring Roo 並將 Spring Roo 項目導入 Eclipse 或 STS (SpringSource Tool Suite)。

在 Ubuntu 上編譯 Spring Roo 源代碼的過程

在 Ubuntu(和其餘 *nix 系統)上編譯源代碼很容易。只需遵循如下步驟:

  1. 安裝 Git,一個分佈式源代碼控制管理系統。要在 Ubuntu 系統上安裝它,輸入 sudo apt-get install git-core gitk。
  2. 輸入 git clone git://git.springsource.org/roo/roo.git,使用 Git 簽出 Spring Roo。您將在主目錄中看到一個 roo 文件夾,其中包含全部 Roo 源代碼。
  3. GnuPG 支持數據和通訊的加密和簽名,且以一個多功能的密鑰管理系統和各類公鑰目錄的訪問模塊爲特點。Roo 使用 GPG 來自動簽名編譯輸出。
  4. 觸發命令 gpg --list-secret-keys。輸出應當相似於清單 3。 

    清單 3. gpg list 命令的結果
    C:\dev\roo-sourcecode\roo>gpg --1ist-secret-keys
    C:/Users/xebia/AppData/Roaming/gnupg\secring.gpg
    sec 2048R/2F96093B 2010-07-03
    uid                shekhar (spring-roo) <shekhargu1ati84@gmai1.com>
    ssb 2048R/B77E5C63 2010-07-03
    C:\dev\roo-sourcecode\roo>_

  5. 若是您看不到輸出,首先必須建立一個密鑰。使用 gpg –gen-key,它將引導您逐步建立密鑰。而後使用 gpg –list-secret-keys 驗證您新建立的密鑰已生成。
  6. 接下來,您須要發佈您的密鑰到公鑰服務器。注意 –list-secret-keys 中顯示的 sec 密鑰 ID。在個人例子中,密鑰 ID 是 2F96093B。經過 gpg –keyserver hkp://pgp.mit.edu –send-keys 2F96093B 將您的公鑰推送到一個密鑰服務器(在結尾更改密鑰 ID)。
  7. 一些 Roo 模塊須要已經不以 OSGi 形式存在的 JAR。即,它們沒有一個 OSGi 感知的清單。Roo 有一個稱爲 wrapping 的特殊項目,可將常態 JAR 轉化爲 OSGi JAR。您須要在試圖使用 Roo 以前運行包裝程序。沒有包裝程序,您將看到錯誤,說 Maven 沒法找到 org.springframework.roo.wrapping.some_module。要建立 JAR 文件包,從根 Roo 簽出位置輸入:
    cd wrapping
    	mvn clean install 
    	cd..

  8. 接下來,運行 mvn clean install 命令。(Maven V2 應當安裝在了您的系統上。若是沒有,當即安裝它。)每次編譯源代碼時,Maven 將提示您輸入您的密鑰的密碼/口令(您輸入了口令的同時建立 GPG 密鑰)。輸入口令並按下 Enter。編譯源代碼須要幾分鐘時間。

在 Windows 上編譯 Roo 源代碼的過程

與 Ubuntu 相比,在 Windows 上編譯源代碼有點困難。請遵循如下步驟:

  1. 安裝 Git,一個分佈式源代碼控制管理系統。要開始此過程,您須要在您的 windows 機器上安裝 Git。我在個人 windows 機器上安裝了 msysGit 。若是您已經安裝了 Git,那麼能夠跳過這一步。在安裝 msysGit 時,它會要求選擇安裝位置。它會打開一個命令提示符,並開始觸發大量命令。這將持續大約 1 分鐘。安裝完成以後,您將看到如清單 4 所示的一個屏幕。 

    清單 4. 安裝 msysGit
    { test "$bindir/" = "$execdir/" || \
                   { rm -f "$execdir/git.exe" && \
                   test -z "" &amp;&amp; \
                   ln "$bindir/git.exe" "$execdir/git.exe" 2>/dev/null || \
                   cp "$bindir/git.exe" "$execdir/git.exe"; } ; } && \
            { for p in git-add.exe git-annotate.exe git-apply.exe git-archive.exe 
    git-bisect--helper.exe git-blame.exe git-branch.exe git-bundle.exe git-cat-file.exe 
    git-check-attr.exe git-check-ref
                    rm -f "$execdirf$p" && \
                    ln "Sexecdir/git.exe" "Sexecdir/$p" 2>/dev/null ll \
                    ln -s "git.exe" "$execdir/$p" 2>/dev/null || \
                    cp "Sexecdir/git.exe" "$execdir/$p" Il exit; \
             done; } && \
            { test x"git-renote-https.exe git-renote-ftp.exe \
    git-renote-ftps.exe" = x ll \
                    { for p in git-remote-https.exe git-remote-ftp.exe \
    git-remote-ftps.exe; do \
                    rm -f "$execdir{$p" && \
                    ln "Sexecdir/git-remote-http.exe" "$execdir/$p" 2>/dev/null ll \
                    ln -s 「git-renote—http.exe" "$execdir/$p" 2>/dev/null || \
                    cp "Sexecdir/git-remote-http.exe" "Sexecdir/$p" ll exit; \
              done; } ; } && \
            ./check_bindir "z$bindir" "z$execdir" "Sbindir/git—add.exe"
    
    -------------------------
    Hello, dear Git developer.
    
    This is a minimal MSYS environment to work on Git.
    
    You are in the git working tree, and all is ready for you to hack.
    
    Welcome to msysGit
    
    Run 'git help git' to display the help index.
    Run 'git help <command>' to display help for specific commands.
    Run '/share/msysGit/add-shortcut.tcl' to add a shortcut to msysGit.
    
    It appears that you installed msysGit using the full installer.
    To set up the Git repositories, please run /share/msysGit/initialize.sh

  2. 設置 Git 環境變量。須要在您的 Windows 路徑中設置 Git。將 ${MSYSGIT}\msysgit\bin 和 {MSYSGIT}\msysgit\mingw\bin 添加到您的 Windows 路徑中,其中 ${MSYSGIT} 是安裝 msysGit 的位置。打開一個新的命令提示符並輸入 git。您將看到如圖 7 所示的輸出。 

    清單 5. Git 命令提示符
    C:\>git
    usage: git [--version] [--exec-path[=GIT_EXEC_PATH]] [--html-path]
               [-pl--paginate|I--no-pager] [--no-replace-objects]
               [--bare] [--git-dir=GIT_DIR] [--work-tree=GIT_WORK_TREE]
               [-c name=value
               [--help] COMMAND [ARGS]
    The most commonly used git commands are:
       add        Add file contents to the index
       bisect     Find by binary search the change that introduced a bug
       branch     List, create, or delete branches
       checkout   Checkout a branch or paths to the working tree
       clone      Clone a repository into a new directory
       commit     Record changes to the repository
       diff       Show changes between commits, commit and working tree, etc
       fetch      Download objects and refs from another repository
       grep       Print lines matching a pattern
       init       Create an empty git repository or reinitialize an existing
       log        Show commit logs
       merge      Join two or more development histories together
       mv         Move or rename a file, a directory, or a symlink
       pull       Fetch from and merge with another repository or a local bra
       push       Update remote refs along with associated objects
       rebase     Forward-port local commits to the updated upstream head
       reset      Reset current HEAD to the specified state
       rm         Remove files from the working tree and from the index
       show       Show various types of objects
       status     Show the working tree status
       tag        Create, list, delete or verify a tag object signed with GPG
    
    See ’git help COMMAND’ for more information on a specific command.
    C:\>_

  3. 使用 Git 簽出 Spring Roo。在這一步中,您將使用 Git 簽出最新源代碼,從而建立 Spring Roo 的本地克隆。打開一個命令提示符並轉至您但願簽出 Spring Roo 的位置。輸入 git clone git://git.springsource.org/roo/roo.git 。一直等到它完成爲止。這將在您簽出 Spring Roo 的位置建立一個名爲 roo 的新文件夾。
  4. 下載和安裝 GPG for Windows。GnuPG 是 GNU 用於確保安全通訊和數據存儲的工具。它可用於加密數據和建立數字簽名。Roo 使用 GPG 來自動簽名編譯輸出。安裝了 GPG 以後,使用 gpg –list-secret-keys。您應當會看到相似清單 6 的輸出。

    清單 6. gpg list 命令的結果
    C:\dev\roo-sourcecode\roo>gpg --1ist-secret-keys
    C:/Users/xebia/AppData/Roaming/gnupg\secring.gpg
    sec 2048R/2F96093B 2010-07-03
    uid                shekhar (spring-roo) <shekhargu1ati84@gmai1.com>
    ssb 2048R/B77E5C63 2010-07-03
    C:\dev\roo-sourcecode\roo>_

  5. 若是沒有看到輸出,這代表您首先須要建立一個密鑰。使用 gpg –gen-key。它會引導您逐步建立密鑰。使用 gpg –list-secret-keys 驗證您新建立的密鑰已生成。
  6. 發佈您的密鑰到一個公鑰服務器上。注意 –list-secret-keys 上顯示的 sec 密鑰 ID。在個人例子中,該 ID 是 2F96093B。經過 gpg –keyserver hkp://pgp.mit.edu –send-keys 2F96093B 將您的公鑰推送到一個密鑰服務器上(在結尾更改密鑰 ID)。
  7. 首先構建包裝程序項目。一些 Roo 模塊須要已經不以 OSGi 形式存在的 JAR。即,它們沒有一個 OSGi 感知的清單。Roo 有一個名爲 wrapping 的特殊項目,可將常態 JAR 轉化成 OSGi JAR。您須要在試圖使用 Roo 以前運行包裝程序。沒有安裝程序,您將看到錯誤,說 Maven 沒法找到 org.springframework.roo.wrapping.some_module。要建立 JAR 文件包,從根 Roo 簽出位置輸入:
    cd wrapping
    	mvn clean install 
    	cd..

  8. 運行 mvn clean install 命令。(Maven V2 應當安裝在了您的系統上。若是沒有,當即安裝它。)每次編譯源代碼時,Maven 將提示您輸入您的密鑰的密碼/口令(您輸入了口令的同時建立 GPG 密鑰)。輸入口令並按下 Enter。編譯源代碼須要幾分鐘時間。
  9. 在您的系統設置中創建環境變量 ROO-DEV,該變量應指向 Roo 項目內的引導文件夾。您還應當添加該變量到 PATH 環境變量,如圖 3 所示。

圖 3. 創建 ROO-DEV 變量
顯示 Edit System Variable 登陸框的屏幕截圖  

您如今可使用最新開發的 Roo 版本了。打開命令提示符,建立一個名爲 mkdir roo_dev_demo 的新文件夾,並觸發 roo-dev 命令。您將看到清單 7 中所示的屏幕。


清單 7. ROO-DEV shell
C:\Users\xebia\demo\conference>roo
    ____  ____  ____
   / __ \/ __ \/ __ \
  / /_/ / / / / / / /
 / _, _/ /_/ / /_/ /
/_/ |_|\____/\____/       1.1.B.RELEASE [rev 793f2b0]
Welcome to Spring Roo. For assistance press TAB or type "hint" then hit ENTER.
roo>

您可能但願更新 Spring Roo 源代碼來使用最新版本的 Spring Roo。打開命令提示符並轉至 Spring Roo 的源代碼位置。觸發 git pull 命令,該命令會將全部遠程更改拉入到您的本地克隆中,而後執行一個 mvn clean install 命令來編譯更新的源代碼。


結束語

此時,您已經構建了一個簡單的 web 應用程序,期間甚至無需打開咱們的編輯器或參考任何文檔。應用程序容許您對實體執行 CRUD 操做。我但願您看到 Roo 爲 Java 開發人員帶來了重大生產效率收益。它使用大部分開發人員已經熟知的成熟和穩定的技術。

在第 2 部分,咱們將使應用程序更安全、添加國際化支持、添加消息傳遞支持(SMTP 和 JMS),並定製應用程序。咱們還將探究 Roo 的一個數據庫逆向工程特性,將該應用程序轉化爲一個功能全面的企業應用程序。


參考資料

學習

得到產品和技術

討論

關於做者

Shekhar Gulati 是 Xebia India 的一名 Java 顧問。他用 Java 編程語言開發軟件已經 5 年有餘。他在 http://whyjava.wordpress.com 上寫了我的博客。

相關文章
相關標籤/搜索