Groovy:Java 的简洁版
Groovy 是一种 动态、面向对象的编程语言,运行在 Java 虚拟机(JVM)上,并与 Java 高度兼容。你可以把它理解为“Java 的简洁版 + 动态特性 + 脚本语言的灵活性”。
🧠 Groovy 的核心特点
特性 | 说明 |
---|---|
✅ 与 Java 高度兼容 | 可以直接调用 Java 库、继承 Java 类、实现 Java 接口 |
✅ 语法简洁 | 不需要写分号、类型可以省略、闭包支持好 |
✅ 动态类型支持 | 变量可以不声明类型,更像 Python 或 JavaScript |
✅ 内置 DSL(领域专用语言)支持 | 特别适合用于构建配置语言、脚本工具、构建系统 |
✅ 脚本执行能力强 | 可以像 shell 脚本一样执行 .groovy 文件 |
✅ 支持闭包、元编程 | 提供类似 JavaScript 的函数式特性和元编程能力 |
🔧 常见用途
-
Jenkins 脚本(流水线)
-
Jenkins 使用 Groovy 来编写 CI/CD 的 Pipeline 脚本。
-
例如:
pipeline {agent anystages {stage('Build') {steps {echo 'Building...'}}} }
-
-
Gradle 构建工具
-
Gradle 的构建脚本默认使用 Groovy(也支持 Kotlin DSL)
-
例如:
dependencies {implementation 'org.springframework.boot:spring-boot-starter-web' }
-
-
自动化测试(如 Spock 框架)
- Groovy 结合 Spock 框架进行 BDD 风格的测试开发
-
快速编写 JVM 脚本
- 比 Java 更短、更灵活,适合快速编写小程序或脚本工具
🧾 简单对比 Groovy vs Java
// Java
List<String> list = new ArrayList<>();
list.add("hello");
list.add("world");
for (String s : list) {System.out.println(s);
}
// Groovy
def list = ["hello", "world"]
list.each { println it }
🚀 安装和运行
如果你有 Java 环境,可以直接运行 Groovy 脚本:
groovy hello.groovy
或者使用 Groovy Shell:
groovysh