
Groovy
文章平均质量分 68
韩曙亮
中国人民大学硕士 , 专注于 移动开发 领域 , 博客专家 , 2023 年博客之星 TOP1 , 2021 年博客之星 TOP9 , 华为云 云享专家 , 阿里云社区 专家博主 , 51CTO 专家博主 ;
展开
-
【错误记录】Android Studio 中编写 Gradle 编译脚本时没有 Groovy 代码提示 ( Cannot find declaration to go to )
一、报错信息、二、解决方案原创 2022-05-01 10:44:56 · 3345 阅读 · 0 评论 -
【Groovy】自定义 Xml 生成器 BuilderSupport ( 创建 XmlNode 节点 | 管理 XmlNode 节点并将根节点转为 Xml 信息 | 完整代码示例 )
一、创建 XmlNode 节点、二、管理 XmlNode 节点并将根节点转为 Xml 信息、三、完整代码示例、1、自定义 Xml 生成器 MyBuilderSupport、2、Xml 节点封装了 XmlNode、3、在 Groovy 脚本中生成 Xml 信息、原创 2022-02-10 19:03:36 · 1700 阅读 · 0 评论 -
【Groovy】自定义 Xml 生成器 BuilderSupport ( 构造 Xml 节点类 | 封装节点名称、节点值、节点属性、子节点 | 将封装的节点数据转为 Xml 字符串 )
一、构造 Xml 节点类、1、封装节点名称、节点值、节点属性、子节点、2、将封装的节点数据转为 Xml 字符串、二、Xml 节点类完整代码、原创 2022-02-10 17:56:23 · 1287 阅读 · 0 评论 -
【Groovy】自定义 Xml 生成器 BuilderSupport ( nodeCompleted 方法获取节点闭合信息 )
一、nodeCompleted 方法获取节点闭合信息原创 2022-02-10 11:32:52 · 1036 阅读 · 0 评论 -
【Groovy】自定义 Xml 生成器 BuilderSupport ( setParent 方法中设置父节点与子节点关系 )
一、setParent 方法中设置父节点与子节点关系、二、完整代码示例、1、MyBuilderSupport 生成器代码、2、使用 MyBuilderSupport 生成器创建 Xml 代码、原创 2022-02-10 11:09:29 · 1010 阅读 · 0 评论 -
【Groovy】自定义 Xml 生成器 BuilderSupport ( 继承 BuilderSupport 抽象类 | 在 createNode 方法中获取节点名称、节点属性、节点值信息 )
一、继承 BuilderSupport 抽象类、二、在 createNode 方法中获取节点名称、节点属性、节点值信息、三、完整代码示例、1、MyBuilderSupport 生成器代码、2、使用 MyBuilderSupport 生成器创建 Xml 代码、原创 2022-02-10 09:45:44 · 1452 阅读 · 0 评论 -
【Groovy】Json、Xml、Swing 生成器 ( Json 生成器 JsonBuilder | Xml 生成器 MarkupBuilder | Swing 生成器 SwingBuilder)
文章目录一、Json 生成器 JsonBuilder二、Xml 生成器 MarkupBuilder三、Swing 生成器 SwingBuilder一、Json 生成器 JsonBuilderJsonBuilder 原型如下 , 该类继承自 GroovyObjectSupport 类 , 其核心是 invokeMethod , 利用元编程实现 Json 生成器的作用 , 帮助生成 Json 字符串 ;public class JsonBuilder extends GroovyObject原创 2022-02-10 08:26:06 · 1401 阅读 · 0 评论 -
【Groovy】使用 SwingBuilder 构建 Swing 窗口 ( 创建一个 Swing 构造器 | 配置 Swing 窗口的一系列属性 | 设置 Swing 窗口显示 )
一、使用 SwingBuilder 构建 Swing 窗口、二、完整代码示例原创 2022-02-10 08:02:46 · 2001 阅读 · 3 评论 -
【Groovy】Xml 反序列化 ( 使用 XmlParser 解析 Xml 文件 | 删除 Xml 文件中的节点 | 增加 Xml 文件中的节点 | 将修改后的 Xml 数据输出到文件中 )
一、删除 Xml 文件中的节点、二、增加 Xml 文件中的节点、三、将修改后的 Xml 数据输出到文件中、四、完整代码示例原创 2022-02-09 21:36:24 · 1682 阅读 · 0 评论 -
【Groovy】Xml 反序列化 ( 使用 XmlParser 解析 Xml 文件 | 获取 Xml 文件中的节点和属性 | 获取 Xml 文件中的节点属性 )
一、创建 XmlParser 解析器、二、获取 Xml 文件中的节点、三、获取 Xml 文件中的节点属性、四、完整代码示例、原创 2022-02-09 21:26:07 · 2178 阅读 · 0 评论 -
【Groovy】xml 序列化 ( 使用 StreamingMarkupBuilder 生成 xml 数据 | mkp.xmlDeclaration() 生成 xml 版本数据 )
一、使用 StreamingMarkupBuilder 生成 xml 数据、二、mkp.xmlDeclaration() 生成 xml 版本数据、三、完整代码示例、原创 2022-02-09 17:42:06 · 1222 阅读 · 0 评论 -
【Groovy】xml 序列化 ( 使用 MarkupBuilder 生成 xml 数据 | 标签闭包下创建子标签 | 使用 MarkupBuilderHelper 添加 xml 注释 )
文章目录、一、标签闭包下创建子标签、二、使用 MarkupBuilderHelper 添加 xml 注释、三、完整代码示例、原创 2022-02-09 17:07:48 · 1174 阅读 · 0 评论 -
【Groovy】xml 序列化 ( 使用 MarkupBuilder 生成 xml 数据 | 设置 xml 标签内容 | 设置 xml 标签属性 )
一、使用 MarkupBuilder 生成 xml 数据、二、完整代码示例原创 2022-02-09 15:56:56 · 1327 阅读 · 0 评论 -
【Groovy】json 字符串反序列化 ( 使用 JsonSlurper 进行 json 字符串反序列化 | 根据 map 集合构造相关类 )
一、使用 JsonSlurper 进行 json 字符串反序列化、二、根据 map 集合构造相关类、三、完整代码示例、原创 2022-02-09 14:51:54 · 5368 阅读 · 0 评论 -
【Groovy】json 序列化 ( 类对象转为 json 字符串 | 使用 JsonBuilder 进行转换 | 使用 JsonOutput 进行转换 | 将 json 字符串格式化输出 )
一、Groovy 对象转为 json 字符串 ( 使用 JsonBuilder 进行转换 )、二、使用 JsonOutput 将指定类型对象转为 json 字符串、三、将 json 字符串格式化输出、四、完整代码示例、原创 2022-02-09 08:37:34 · 5038 阅读 · 1 评论 -
【Groovy】json 序列化 ( JsonBuilder 生成器 | 生成带根节点名称的 json 字符串 | 生成不带根节点名称的 json 字符串 )
一、json 生成器、二、代码示例原创 2022-02-08 23:04:28 · 2345 阅读 · 0 评论 -
【Groovy】编译时元编程 ( 利用注解进行 AST 语法树转换 | 定义注解并使用 GroovyASTTransformationClass 注明 AST 转换接口 | AST 转换接口实现 )
一、利用注解进行 AST 语法树转换、1、定义注解并使用 GroovyASTTransformationClass 注明 AST 转换接口、2、AST 转换接口实现、3、定义 Groovy 类并使用 @Compile 注解修饰需要拦截的方法、4、执行结果、原创 2022-02-08 22:36:45 · 1248 阅读 · 0 评论 -
【Groovy】编译时元编程 ( 编译时方法注入 | 使用 buildFromSpec、buildFromString、buildFromCode 进行方法注入 )
一、在 MyASTTransformation#visit 方法中进行方法注入、1、使用 new AstBuilder().buildFromSpec 进行方法注入、2、使用 new AstBuilder().buildFromString 进行方法注入、3、使用 new AstBuilder().buildFromCode 进行方法注入、二、完整代码示例及进行编译时处理的编译过程、原创 2022-02-08 20:39:32 · 891 阅读 · 0 评论 -
【Groovy】编译时元编程 ( 编译时方法拦截 | 在 MyASTTransformation#visit 方法中进行方法拦截 )
一、在 MyASTTransformation#visit 方法中进行方法拦截、二、完整代码示例及进行编译时处理的编译过程、1、Groovy 脚本 Groovy.groovy、2、ASTTransformation 接口实现 MyASTTransformation.groovy、3、配置 ASTTransformation、3、使用命令行进行编译时处理、原创 2022-02-08 19:20:02 · 1079 阅读 · 0 评论 -
【Groovy】编译时元编程 ( 编译时方法拦截 | 在 MyASTTransformation#visit 方法中找到要拦截的方法 )
一、在 MyASTTransformation#visit 方法中找到要拦截的方法、1、获取 ClassNode 节点集合、2、查找指定的 ClassNode 节点、3、获取指定 ClassNode 节点下的 MethodNode 节点集合、4、查找指定的 MethodNode 节点、原创 2022-02-08 17:46:06 · 1127 阅读 · 0 评论 -
【Groovy】编译时元编程 ( 方法拦截时用到的 AST 语法树节点 MethodNode 节点 | MethodNode 节点分析 | MethodNode 节点中的BlockStatement)
一、方法拦截时用到的 AST 语法树节点 MethodNode 节点、二、MethodNode 节点分析、三、MethodNode 节点中的 BlockStatement 集合、原创 2022-02-08 08:03:17 · 1450 阅读 · 0 评论 -
【Groovy】编译时元编程 ( ASTTransformation#visit 方法中访问 Groovy 类、方法、字段、属性 | 完整代码示例及进行编译时处理的编译过程 )
一、ASTTransformation#visit 方法中访问 Groovy 类、方法、字段、属性、二、完整代码示例及进行编译时处理的编译过程、1、Groovy 脚本 Groovy.groovy、2、ASTTransformation 接口实现 MyASTTransformation.groovy、3、配置 ASTTransformation、3、使用命令行进行编译时处理、原创 2022-02-07 22:51:11 · 980 阅读 · 1 评论 -
【Groovy】编译时元编程 ( ASTTransformation#visit 方法获取 Groovy 源文件 )
一、ASTTransformation#visit 方法获取 Groovy 源文件、二、完整代码示例、1、Groovy 脚本 Groovy.groovy、2、ASTTransformation 接口实现 MyASTTransformation.groovy、3、配置 ASTTransformation、3、使用命令行进行编译时处理、原创 2022-02-07 22:24:04 · 1174 阅读 · 0 评论 -
【Groovy】编译时元编程 ( ASTTransformation#visit 方法简介 | org.codehaus.groovy.ast.ModuleNode 脚本节点 )
一、ASTTransformation#visit 方法简介、二、org.codehaus.groovy.ast.ModuleNode 脚本节点原创 2022-02-07 22:07:58 · 1085 阅读 · 0 评论 -
【Groovy】编译时元编程 ( 编译 ASTTransformation | 打包 ASTTransformation 字节码文件 | 编译 Groovy 类同进行编译时处理 )
一、编译 ASTTransformation、二、打包 ASTTransformation 字节码文件、三、编译 Groovy 类同进行编译时处理、原创 2022-02-07 13:29:36 · 1004 阅读 · 0 评论 -
【Groovy】编译时元编程 ( 编译时处理 ASTTransformation 接口实现 | 配置 ASTTransformation )
一、编译时处理 ASTTransformation 接口实现、二、配置 ASTTransformation原创 2022-02-07 12:31:04 · 1249 阅读 · 0 评论 -
【Groovy】编译时元编程 ( AST 语法树分析 | ClassNode 根节点 | 方法 Methods 节点 | 字段 Fields 节点 | 属性 Properties 节点 )
一、AST 语法树分析原创 2022-02-07 00:19:16 · 1227 阅读 · 0 评论 -
【Groovy】编译时元编程 ( 编译时元编程引入 | 声明需要编译时处理的类 | 分析 Groovy 类的 AST 语法树 )
一、编译时元编程引入、二、声明需要编译时处理的类、三、分析 Groovy 类的 AST 语法树、原创 2022-02-07 00:09:50 · 1827 阅读 · 0 评论 -
【Groovy】MOP 元对象协议与元编程 ( 方法委托 | 使用 @Delegate 注解进行方法委托 )
一、使用 @Delegate 注解进行方法委托、二、完整代码示例原创 2022-02-06 00:50:49 · 1217 阅读 · 1 评论 -
【Groovy】MOP 元对象协议与元编程 ( 方法委托 | 批量方法委托 )
一、批量方法委托、二、完整代码示例、原创 2022-02-06 00:42:34 · 997 阅读 · 0 评论 -
【Groovy】MOP 元对象协议与元编程 ( 方法委托 | 正常方法调用 | 方法委托实现 | 代码示例 )
一、方法委托、1、正常方法调用、2、方法委托实现、二、完整代码示例、原创 2022-02-05 23:45:26 · 1139 阅读 · 0 评论 -
【错误记录】IntelliJ IDEA 编译 Groovy 报错 ( GroovyRuntimeException: This script or class could not be run. )
一、错误记录、二、问题分析原创 2022-01-29 16:24:44 · 2326 阅读 · 0 评论 -
【错误记录】IntelliJ IDEA 编译 Groovy 项目报错 ( Groovy SDK is not configured for module )
一、报错信息、二、修改方案原创 2022-01-29 16:11:22 · 5077 阅读 · 0 评论 -
【Groovy】MOP 元对象协议与元编程 ( 方法合成 | 动态注入方法 )
一、动态注入方法一、动态注入方法二、完整代码示例二、完整代码示例原创 2022-01-29 15:34:18 · 1405 阅读 · 0 评论 -
【Groovy】MOP 元对象协议与元编程 ( 方法合成引入 | 类内部获取 HandleMetaClass )
一、方法合成引入、二、类内部获取 HandleMetaClass、原创 2022-01-27 08:36:32 · 1284 阅读 · 0 评论 -
【Groovy】MOP 元对象协议与元编程 ( Groovy 类内部和外部分别获取 metaClass | 分析获取 metaClass 操作的字节码 | HandleMetaClass 注入方法 )
一、Groovy 类内部和外部分别获取 metaClass、二、分析 Groovy 类内部和外部获取 metaClass 操作的字节码、三、使用 HandleMetaClass 注入方法原创 2022-01-26 11:38:32 · 2705 阅读 · 3 评论 -
【Groovy】MOP 元对象协议与元编程 ( Expando 动态类 | 创建动态类 | 为动态类增加字段和方法 )
一、Expando 动态类简介、二、动态类创建、三、为动态类增加字段和方法、四、完整代码示例、原创 2022-01-26 10:31:21 · 1603 阅读 · 0 评论 -
【Groovy】MOP 元对象协议与元编程 ( 方法注入 | 使用 @Mixin 注解进行方法注入 | Mixin 混合多个类优先级分析 )
一、使用 Mixin 混合进行方法注入、二、Mixin 混合多个类优先级分析原创 2022-01-25 18:55:51 · 1353 阅读 · 0 评论 -
【Groovy】MOP 元对象协议与元编程 ( 方法注入 | 使用 Mixin 混合进行方法注入 )
一、使用 Mixin 混合进行方法注入、二、完整代码示例原创 2022-01-25 18:47:13 · 1457 阅读 · 0 评论 -
【错误记录】IntelliJ IDEA 编译 Groovy 项目报错 ( gradle-resources-test:XX: java.lang.NoClassDefFoundError: org )
一、报错信息、二、问题分析、三、解决方案、原创 2022-01-25 13:51:40 · 4651 阅读 · 0 评论