java 注解 target_Springboot注解@Target用法

1、@Target用法

java.lang.annotation.Target     用于设定注解范围

java.lang.annotation.ElementYype     Target通过ElementType来指定注解适用范围的枚举集合

1.ElementType用法

取值

注解适用范围

METHOD

可用于描述方法上

TYPE

用于描述类、接口(包括注解类型)或enum声明上

ANNOTATION——TYPE

用于注解类型上(被@interface修饰的类型)

CONSTRUCTOR

用于描述构造器上

FIELD

用于描述域

LOCAL_VARIABLE

用于描述局部变量

Package

用于记录java文件的package信息

PARAMETER

可用于参数上

重点说明:ELEMENT.PACKAGE   它并不是使用在一般的类中,而是使用在固定文件package-info.java中,

这里需要强调命名一定是“package-info”。由于package-info并不是合法的类,使用Eclipse创建的类方式会提示不合法,所以需要以创建文件的形式创建package-info.java

定义使用范围PACKAGE

@Target({ElementType.PACKAGE,ElementType.METHOD})

@Retention(RetentionPolicy.RUNTIME)

@Inherited

@Documented

public@interface  AsynLog {

}

那么创建文件:package-info.java  内容如下:

@AsynLog

package org.my.commons.logs.annotation;

/**

* 日志自定义注解

* 方法级

*/

@Target({ElementType.METHOD})

//注解只能在ElementType表示此类只能用设定的范围内使用,否则编译报错。

//例如,ElementTyoe.METHOD 表明注解只能使用在类的方法上,超出使用范围将会编译异常。

@Retention(RetentionPolicy.RUNTIME)

@Documented

public @interface Log {

/**

*用户要保存到日志的自定义信息

*必传

*/

String info();

/**

* 用户要保存到日志的参数和值  的索引, 从0开始

* 默认不保存

* 若要保存参数列表的第2,3个,则传"1,2"

*/

String args() default "";

}

转载自:https://blog.csdn.net/u012992462/article/details/80675932

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值