java中process方法用处_java中processor怎么用

匿名用户

1级

2017-08-20 回答

实现步骤

使用Annotation Processor需要实现AbstraceProcessor这个抽象类,并配置工程引用这个Processor。

以下从Gradle编译工程及Eclipse中配置两方面介绍如何自定义并使用Annotation Processor。

Gradle编译环境:

1.实现Annotation Processor

2.配置Processor工程的META_INF文件

3.在开发的代码中使用自定义注解

4.配置gradle编译脚本,引入processor工程

5.进行项目构建,查看processor输出

Eclipse环境:

1.将Gradle环境编译出的processor.jar作为库引入到工程中

2.配置当前工程支持Annotation Processor,并使用自定义的processor.jar文件

3.开发代码使用自定义注解,查看IDE上提示信息

*IDEA环境的配置与Eclipse类似,官网上已经有比较详细的描述了,可以查阅Jetbrain的官方文档。

Gradle环境

构建工程目录

先来看一下processor工程的构建。

假设在HelloWorld工程中使用自定义的processor;独立于HelloWorld工程,我们独立开发了自定义的processor工程。项目结构如下:

MyProcessorTest

├─MyProcessor

│ │

│ └─src

│ └─main

│ └─java

│ └─com

│ └─processor

│ MyProcessor.java

│ TestAnnotation.java

└─src

└─main

└─java

└─com

└─hello

HelloWorld.java

主工程名为MyProcessorTest,在其中包含了processor工程MyProcessor

实现自定义注解

接下来实现一个自定义注解TestAnnotation:

package com.processor;

import java.lang.annotation.ElementType;

import java.lang.annotation.Retention;

import java.lang.annotation.RetentionPolicy;

import java.lang.annotation.Target;

@Target(ElementType.FIELD)

@Retention(RetentionPolicy.SOURCE)

public @interface TestAnnotation {

int value();

String what();

}

创建自定义Annotation Processor

然后来实现自定义的Annotation Processor——MyProcessor

package com.processor;

import java.util.Set;

import javax.annotation.processing.AbstractProcessor;

import javax.annotation.processing.RoundEnvironment;

import javax.annotation.processing.SupportedAnnotationTypes;

import javax.annotation.processing.SupportedSourceVersion;

import javax.lang.model.SourceVersion;

import javax.lang.model.element.TypeElement;

@SupportedAnnotationTypes({"com.processor.TestAnnotation"})

@SupportedSourceVersion(SourceVersion.RELEASE_7)

public class MyProcessor extends AbstractProcessor {

@Override

public boolean process(Set extends TypeElement> annotations, RoundEnvironment roundEnv) {

System.out.println("Test log in MyProcessor.process");

return false;

}

}

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值