写点什么

一站式开源框架 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:125693
用户头像

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

关注

评论

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

在线文本数字识别列表求和工具

入门小站

工具

疫情期间居家办公的总结体会 |社区征文

三掌柜

初夏征文

前端食堂技术周刊第 42 期:Vue 2.7 Beta、TS 4.8 Beta、React 开源奖、ECMAScript 2022

童欧巴

JavaScript typescript Vue 前端 React

直播电子商务应用程序开发需要什么基本功能?未来发展前景如何?

开源直播系统源码

软件开发 直播源码 带货直播

HotSpot JVM 「02」Java Object Layout

Samson

学习笔记 hotspot 6月月更

通过Rust语言计算加速技术突破图片识别性能瓶颈​​

宇宙之一粟

rust 6月月更

IIS 部署静态网站和 FTP 服务

乌龟哥哥

6月月更

数据治理啥都干

奔向架构师

数据治理 数据资产 6月月更

linux之git高级命令

入门小站

Linux

flutter系列之:flutter中的flow

程序那些事

flutter 程序那些事 6月月更

基于STM32设计的蓝牙健康管理设备

DS小龙哥

6月月更

TopoLVM: 基于LVM的Kubernetes本地持久化方案,容量感知,动态创建PV,轻松使用本地磁盘

大卡尔

Kubernetes 云原生 6月月更

Elasticsearch 在地理信息空间索引的探索和演进

vivo互联网技术

elasticsearch 数据分析 数据检索

2022年,中轻度游戏出海路在何方?

Geek_2d6073

亿级月活全民K歌Feed业务在腾讯云MongoDB中的应用及优化实践

杨亚洲(专注MongoDB及高性能中间件)

MySQL 数据库 mongodb 分布式数据库mongodb NoSQL 数据库

架构实战营模块五作业

融冰

K8S学习笔记--一起来看容器的本质

IT蜗壳-Tango

IT蜗壳教学 6月月更

leetcode 1143. Longest Commom Subsequence 最长公共子序列(中等)

okokabcd

LeetCode 动态规划 算法与数据结构

对象的访问机制及其他

Jason199

js 原型链 6月月更

maven编译遇到"编码GBK的不可映射字符"警告的处理

程序员欣宸

Java maven 6月月更

我大抵是卷上瘾了,横竖睡不着!竟让一个Bug,搞我两次!

小傅哥

小傅哥 异常 bug 连接池 面试问题

聊聊我的远程工作体验 | 社区征文

Nick

远程办公 初夏征文 高效办公 WLB 在线会议

【题解】剑指 Offer 15. 二进制中1的个数(C语言)

未见花闻

6月月更

简析攻防演练中蓝队的自查内容

穿过生命散发芬芳

6月月更 攻防演练

Maven的安装使用

zarmnosaj

6月月更

预约直播 | 主流视觉算法介绍及在PAI上的应用

阿里云大数据AI技术

机器学习 视觉算法

模块五作业

Elvis FAN

LabVIEW Arduino TCP/IP远程智能家居系统(项目篇—5)

不脱发的程序猿

物联网 传感器 LabVIEW Arduino 远程智能家居系统

微博评论高性能高可用架构

intelamd

TDengine 邀请函:做用技术改变世界的超级英雄,成为 TD Hero

TDengine

数据库 tdengine

SpringBoot 3.0最低版本要求的JDK 17,这几个新特性不能不知道!

博文视点Broadview

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