领先一步
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 一起使用(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 进行了广泛的报道。