領先一步
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 也支援 Groovy DSL 來定義 Bean 定義。此 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。