領先一步
VMware 提供培訓和認證,助您加速進步。
瞭解更多緊隨 Groovy 1.6 釋出之後,我們很高興地宣佈 Grails 1.1 最終版已釋出,可從 Grails 網站獲取。釋出說明中詳細列出了許多改進。然而,其中一些關鍵的改進是:
獨立 GORM:現在可以在 Grails 之外使用 Grails 的 ORM 層(基於 Hibernate)。分發版的 samples/petclinic-mvc 目錄中有一個在 Spring MVC 應用程式中使用 GORM 的示例。該示例使用 Spring 配置了一個支援 GORM 的 SessionFactory,如下所示:
<gorm:sessionFactory base-package="org.grails.samples"
data-source-ref="dataSource"
message-source-ref="messageSource">
<property name="hibernateProperties">
<util:map>
<entry key="hibernate.hbm2ddl.auto" value="update"/>
</util:map>
</property>
</gorm:sessionFactory>
Maven & Ant+Ivy 支援: Grails 應用程式現在可以使用 Java 領域中最著名的兩種構建工具進行構建。將 Grails 應用程式整合到您的 Java 生態系統變得更加容易,Grails 現在涵蓋了整個應用程式生命週期(從構建到部署)與 Java 的整合。
更好的外掛: Grails 體驗的一個關鍵部分是外掛生態系統,現在有了 Grails 1.1,這種體驗得到了極大的改善。外掛現在可以從專案元資料自動安裝,安裝以傳遞方式進行(這意味著外掛依賴項會自動安裝),並且增加了對全域性外掛(跨多個應用程式的外掛)的支援。
Spring 名稱空間支援: 除了支援 Spring 的原生 XML 來定義新 bean 之外,Grails 還支援用於定義 bean 定義的 Groovy DSL。此 DSL 已擴充套件以支援 Spring 名稱空間。
beans = {
xmlns aop:"http://www.springframework.org/schema/aop"
fred(Person) {
name = "Fred"
age = 45
}
birthdayCardSenderAspect(BirthdayCardSender)
aop {
config("proxy-target-class":true) {
aspect( id:"sendBirthdayCard",ref:"birthdayCardSenderAspect" ) {
after method:"onBirthday",
pointcut: "execution(void ..Person.birthday()) and this(person)"
}
}
}
}
JSP 標籤庫支援: 現在可以在 GSP 中使用任何 JSP 標籤庫,從而使遷移到 Grails 變得更加容易。您甚至可以在 Grails(基於 Spring MVC 構建)中使用標準的 Spring MVC 標籤庫。
<%@ taglib prefix="form" uri="http://www.springframework.org/tags/form" %>
<form:form commandName="address" action="do">
<b>Zip: </b><form:input path="zip"/>
</form:form>
除了此處介紹的之外,還有許多其他功能和改進。值得仔細閱讀釋出說明,以獲取更詳細的亮點概述。
對於 Groovy、Grails 和 Spring 來說,這是一個激動人心的時刻,如果您想了解更多資訊,應該參加SpringOne Europe 和/或 gr8conf,這兩個活動都對 Groovy 和 Grails 進行了充分的報道。