java高级之注解
1.预定义注解
@Deprecated: 标记该方法已经过时。JVM
2.自定义注解
首先你得创建一个注解类
就像这样
然后就变成这样
然后就可以用了,只不过是无意义的注解
注解会用吧,spring里那些注解会用吧
那些怎么用这个就怎么用
直接调,直接@MyZhJE就完事,这个时候你自定义的注解在哪都可以用,什么类上、方法上、参数上、属性上都可都可(就像@AutoWired一样)
3.元注解
【一句话理解:就是加在注解上注解】
怎么用?
看我
元注解有其三
及其一:
@Retention: 限制注解什么时候生效。【源码-------字节码----运行】
【SOURCE, CLASS, RUNTIME】
这样用就对了
及其二:
@Target: 该注解可以使用在哪些地方
//使用在类上
TYPE,
//使用在属性上
FIELD,
//使用在方法上
METHOD,
//使用在参数
PARAMETER,
//使用在构造方法上
CONSTRUCTOR
及其三:
@Documented: 在生成api文档是是否含有该注解。
无法解释,不过
大概
可能
都不会用到,作为了解就好
加上这个注解后点击那个粉红色框框那个就可以生成javaDocApi文档
4.自定义注解(属性)
解释:
@GetMaping(value="/info") 这里的value它就是注解钟的属性。
语法:
public @interface 注解名{
数据类型 属性名() default 默认值;
//如果没有设置默认值,那么在使用该注解时必须为该属性指定值。
}
好了,这里搞三个属性:
然后你会发现你之前自定义的注解写在别的地方报红线了
这个时候就要依次填写你自己搞的三个属性了:
//给定的数组值只有一个那么可以省略{},如果数组值有多个必须给定{}.
当然,你也可以加一个默认值,就像这样:
当然,如果只有一个值需要添写,那么value可以省略不写
以上就是注解的知识内容,如有漏缺,请在下方评论区留言,我会及时补充!