取得領先
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。 您甚至可以將標準的 Spring MVC 標籤庫與 Grails 一起使用(它構建在 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。