apt 其实有更加优雅的实现方案, oracle 对 apt 提供了对访问者的支持.
如果没有接触过 apt 的小伙伴可先看一下上一篇文章. apt 使用基础, 如果对于访问者模式不太清除的话, 可以先问一下 google 霸霸, 这里顺便推荐两本设计模式的书籍, 一本是 << 大化设计模式 >>, 还有一本是 <<设计模式之禅 >>, 有兴趣的小伙伴可以关注下.
访问者模式适用于数据结构不会发生变化, 而算法却会变化的场景. apt 是作用在一个类上的, 而类相关的信息, 方法, 域, 内部类, 注解, 这些结构基本是不会变化的, 所以非常符合访问者模式的是用场景.
当然, 我们不需要去自己写一个访问者的结构. Oracle 的大神们都给我们封装好了, 我们只需要添加不同的 Visitor 就可以了. 还是看 <<Think in Java >> 中的例子, 不过我们使用新版本的 api.
具体的操作相信通过上一篇博客, 应该已经轻车熟路了, 我们先按照上一篇文章的流程, 建立 annotation Model 等准备工作, 然后定义的注解. NOTE: 以下几个类需要放在 annotation Model 下.
|
|
|
|
|
|
|
|
|
|
然后我们给一个类添加注解, NOTE: Member
需要在 app Model 下, 不然自己定义的 Processor 没有效果.
|
|
编译一下, 然后看一下输出结果.
可以看到, 数据库访问的 sql 语句.