飞天发布时刻:2024年 Forrester 公有云平台Wave™评估报告解读 了解详情
写点什么

一站式开源框架 Grails 3.0 发布

  • 2015-04-09
  • 本文字数:1071 字

    阅读完需:约 4 分钟

Grails 是一套用于快速 Web 应用开发的一站式开源框架。近日,Grails 3.0发布,该版本在构建系统、核心API、Web 开发、功能测试等方面有了明显的改进,如基于最新的Groovy 2.4 实现、基于Spring Boot 1.2 构建、采用了基于 Gradle 的构建系统等。Grails 3.0 主要的改进内容包括:

1、 核心功能

  • Grails 3.0 基于最新的 Groovy 2.4 实现,故带了许多新功能和优化改进。
  • Grails 3.0 基于 Spring4.1、Spring Boot 1.2 构建,Spring Boot 1.2 能够生成可执行 jar 文件,这些 jar 文件能够嵌入到 Tomcat、Jetty 或者 Undertow
  • Grails 3.0 抛弃了基于 Gantry 的旧构建系统,并采用了基于 Gradle 的构建系统,从而能够很好的集成 Gradle 插件的生态系统。
  • Grails 3.0 支持通过配置文件库进行应用配置,如配置应用的架构、命令集、插件和功能等。
  • 基于 Groovy Traits 重新设计了 API,包括共有 API、私有 API 以及核心 API 等。

2、Web 功能

  • 新增了拦截器 API,旧版本中的过滤器是用来定义逻辑以拦截 Controller 的执行。

3、开发环境

  • Grails 3.0 引入了一个全新的交互式命令行 shell,且集成了 Gradle,并提供了用来编写脚本的 API,并同 Gradle 进行交互以生成代码。
  • 新命令行 shell 能够配置具体的命令。
  • Grails 3.0 基于 Gradle 构建,开发者能够使用 IntelliJ IDEA 的社区版本导入 Grails 工程。
  • Grails 3.0 的插件以 Jar 文件的格式发布,这就大大减少了额外 IDE 支持的依赖。
  • 每个新的 Grails 3.0 工程都具有一个应用 Main 类以运行或者调试 Grails 3.0 应用,就如 IntelliJ IDEA 和 GGTS (Groovy/Grails Tool Suite)一样,无需利用命令行即可实现运行和调试。

4、测试功能

  • Grails 3.0 利用 create-functional-test 命令实现了对 Spock/Geb 功能测试的支持。
  • Grails 3.0 的功能测试基于 Spring Boot 的测试运行机制实现,只需为整个测试套加载应用一次,并且无需通过命令行来运行测试套,在 IDE 支持下即可实现测试。
  • 因为 Grails 3.0 基于 Gradle 构建,所以测试执行环境的配置非常灵活和简单。

Grails 使用 Groovy 实现,且构建于 Spring、Hibernate 和其它标准 Java 框架之上,属于一站式框架。而 Groovy 是一种基于 JVM 的开发语言,它结合了 Python、Ruby 和 Smalltalk 的众多优点,且能够与 Java 良好地结合使用。此外,Grails 官方还提供了 3.0 版本的众多文档供大家参考,如入门指南参考指南等。


感谢郭蕾对本文的审校。

给InfoQ 中文站投稿或者参与内容翻译工作,请邮件至 editors@cn.infoq.com 。也欢迎大家通过新浪微博( @InfoQ @丁晓昀),微信(微信号: InfoQChina )关注我们,并与我们的编辑和其他读者朋友交流。

2015-04-09 08:125807
用户头像

发布了 46 篇内容, 共 53.3 次阅读, 收获喜欢 15 次。

关注

评论

发布
暂无评论
发现更多内容

Flutter技术在会展云中大显身手

京东科技开发者

flutter 跨平台 移动开发

Norns.Urd 中的一些设计

八苦-瞿昙

C# 随笔 随笔杂谈 aop

为什么删除数据后,Redis内存占用依然很高?

Java架构师迁哥

学习笔记3

Qx

中国SaaS的病与痛?

ToB行业头条

架构作业--大数据

Nick~毓

Mock | 拦截ajax的两种实现方式

梁龙先森

Java 大前端

摄像机不智能,基本等于不讲武德

脑极体

密码学系列之:明文攻击和Bletchley Park

程序那些事

加密解密 密码学 程序那些事 明文攻击

Java并发编程:进程、线程、并行与并发

李尚智

Java并发

如何使用 JuiceFS 在云上优化 Kylin 4.0 的存储性能?

苏锐

大数据 kylin 性能优化 JuiceFS

为什么要有 Servlet ,什么是 Servlet 容器,什么是 Web 容器?

yes

tomcat Web Servlet

C++typename的由来和用法

良知犹存

c++

在构造函数中调用其它构造函数会有什么问题吗?

jiangling500

Java c++ C++11 构造函数

测试右移之日志收集与监控

BY林子

敏捷 软件测试

区块链技术生态持续优化,五大趋势不容忽视

CECBC

区块链 场景应用

roblox mini map

katichar

最值得Deepin的思维模型“组合创新” | 技术人应知的创新思维模型 (3)

Alan

创新 思维模型 28天写作

GO 训练营第 3 周总结

Glowry

区块链打破数字医疗桎梏,赢数据未来新生

CECBC

区块链 医疗

只谈链不谈币,区块链会发展成什么样的方向?

CECBC

区块链

话题讨论 | 说说那些"Oh my god"的时刻

Kurtis Moxley

话题讨论

架构词典:质量

lidaobing

架构 质量管理

LeetCode题解:102. 二叉树的层序遍历,BFS,JavaScript,详细注释

Lee Chen

算法 大前端 LeetCode

Spock单元测试框架实战指南五 - void方法测试

Java老k

Java 单元测试 spock

第四章作业

走走,停停……

话题讨论 | 聊聊那些年你重构过的代码?

xcbeyond

话题讨论

生产环境全链路压测建设历程第四篇 技术体系的发力

数列科技杨德华

架构师训练营第十二周作业

我是谁

极客大学架构师训练营

第三周作业

走走,停停……

话题讨论 | 对于懂得编程的人来说,编程对你来说有什么乐趣?编程大概是什么感觉?

xcbeyond

话题讨论

一站式开源框架Grails 3.0 发布_语言 & 开发_李小兵_InfoQ精选文章