注解和注解处理器 Part 2
来源:互联网 发布:淘宝怎么注册直播 编辑:程序博客网 时间:2024/06/07 10:14
注解处理器示例
来自《Java编程思想(第4版)》
- 用例跟踪
- 数据库表生成
- Java 代码生成
用例跟踪使用注解来描述用例的完成情况。
1. 定义描述用例(完成情况)的注解 UseCase
2. 定义用例类PasswordUtil
并注解
3. 定义注解处理器UseCaseTracker
执行方式:Main方法,通过反射获取注解的类/类成员的信息。
数据库表生成使用注解描述数据库表。
1. 定义描述数据库表的注解
1. 描述数据库表 DBTable
2. 描述数据库约束 Constraints
3. 描述数据库字段类型 SQLString
2. 定义实体类Member
并注解
3. 定义注解处理器TableCreator
执行方式:Main方法,通过反射获取注解的类/类成员的信息。
Java 代码生成示例将类提取为接口(提取 public 方法)。
1. 定义描述接口的注解InterfaceExtractor
2. 定义待提取类Multiplier
并注解
3. 定义注解处理器InterfaceExtractorProcessor
4. 定义注解处理器工厂类InterfaceExtractorProcessorFactory
执行方式:apt 扫描注解并查找对应的注解处理器,注解处理器要通过注解处理器工厂注册给 apt,apt 提供执行环境给处理器访问环境资源。内部原理不明(因为没有执行编译被注解的类,所以不是通过反射进行的处理)。
API 支持
- apt + com.sun.mirror API:JDK 5 引入注解,同时配备该API进行注解处理; JDK 7 中不再支持。
- javac + javax.annotation.processing API:JDK 6 对注解处理进行了标准化,apt 工具被集成到 javac,原先的 API(tools.jar,不属于 Java 标准API)也被标准化。
IDE 对注解处理的支持
eclipse
支持注解处理,但是对注解处理器的调试仅能通过将项目作为插件的形式进行。Android Studio
默认不支持,需要引入外部依赖进行。
0 0
- 注解和注解处理器 Part 2
- 注解和注解处理器
- Java注解(2)-自定义注解、注解处理器
- Java注解和注解处理器使用详解
- 注解处理器
- 注解(Annotation)注解处理器
- [译]使用注解处理器生成代码-2 注解处理器
- Java注解annotation用法和自定义注解处理器
- Java注解annotation用法和自定义注解处理器
- Java注解annotation用法和自定义注解处理器
- Java注解annotation用法和自定义注解处理器
- SpringMVC_非注解(注解)的处理器映射器和适配器
- 非注解和注解的处理器映射器、适配器配置
- Java注解annotation用法和自定义注解处理器
- 注解(Annotation)--注解处理器
- 注解三之注解处理器
- 注解(Annotation)--注解处理器
- 注解(Annotation)--注解处理器
- iOS开发 调用摄像头拍照按钮中文设置
- 10030---java序列化和serialVersionUID
- java中compareTo和compare方法之比较
- 浅谈控件提升之stacked Widget
- 360公司招聘编程,可以挑战一下哦~~
- 注解和注解处理器 Part 2
- python 装饰器 上下文管理器 迭代器 生成器 描述符
- GestureDetectorCompat和GestureDetector
- windows环境下配置caffe及其matlab接口
- 在Keil MDK 开发环境中u8,u16,u32和int区别
- python脚本监控nginx服务
- iOS 内存泄漏查询方法
- maven 常用命令
- macos忘记系统密码怎么办?