JavaPoet动态生成代码,大厂程序员35岁后的职业出路在哪

本文介绍了JavaPoet库,用于动态生成Java代码。关键类包括JavaFile、TypeSpec、MethodSpec和FieldSpec,它们分别代表Java文件、类/接口/枚举声明、构造函数/方法和字段。通过API和示例展示了如何使用JavaPoet,并讨论了根据编译时注解生成代码的场景,提供了一个简单的注解处理器示例。
摘要由CSDN通过智能技术生成

该项目代码量相对较小,只有一个package(com.squareup.javapoet),所有类均位于该package下。

2.1 大体结构图

JavaFile.png

2.2 关键类说明

| class | 说明 |   |

| — | — | — |

| JavaFile | A Java file containing a single top level class | 用于构造输出包含一个顶级类的Java文件 |

| TypeSpec | A generated class, interface, or enum declaration | 生成类,接口,或者枚举 |

| MethodSpec | A generated constructor or method declaration | 生成构造函数或方法 |

| FieldSpec | A generated field declaration | 生成成员变量或字段 |

| ParameterSpec | A generated parameter declaration | 用来创建参数 |

| AnnotationSpec | A generated annotation on a declaration | 用来创建注解 |

在JavaPoet中,JavaFile是对.java文件的抽象,TypeSpec是类/接口/枚举的抽象,MethodSpec是方法/构造函数的抽象,FieldSpec是成员变量/字段的抽象。这几个类各司其职,但都有共同的特点,提供内部Builder供外部更多更好地进行一些参数的设置以便有层次的扩展性的构造对应的内容。

另外,它提供 L ( f o r L i t e r a l s ) ,   L(for Literals),  L(forLiterals), S(for Strings), $T(for Types), $N(for Names)等标识符,用于占位替换。

三、相关使用


3.1 API使用

关于JavaPoet 的API使用,官方Github主页已经有很详细的使用说明和示例了,具体可前往查看。此处不赘述,详见 项目主页、源码及使用说明

3.2 一个简单示例

下面就让我们以一个简单HelloWorld的例子来开启我们的JavaPoet之旅。

引入库:

build.gradle

compile 'com.squareup:javapoet:1.9.0'

  • 1

  • 1

例子如下:

package com.example.helloworld; public final class HelloWorld { public static void main(String[] args) { System.out.println("Hello, Jav

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值