-
什么是注解
可以理解为是对代码的注释说明,只不过这个注解说明不仅仅是给程序员理解说明,还能被程序读到并执行相关操作,
格式:@名字(key=value(参数))
注解可以在属性上,方法上,类上,范围在包中, -
内置注解
1 @Override:标记这个方法是重写父类中的方法,
2 @Deprecated:该方法表示不建议使用,但可以使用, -
自定义注解
查看源码
注解也是一种类只不过要使用@interface代表它是一个注解类,并且会自动继承java.lang.annotation.Annotation接口,
注解的类的格式
public @interface 注解名字{ 定义参数1,…}
package com.zixue.springbootmybatis.annotation;
import java.lang.annotation.*;
/** 自定义一个注解
* 1 要使用@interface
* 2 自定义时要在注解类上加上元注解,作用就是做代表这个注解类是一个注解,
* 元注解的使用
* @Target 这个注解的作用是用来描述该注解的使用范围,可以用在什么地方上,
* 示例: 范围 ElementType
* package包 PACKAGE
* 类 接口 枚举 TYPE
* 方法 属性 CONSTRUCTOR 用于描述构造器 METHOD 方法
* 方法参数 局部变量 LOCAL VARLABLE 局部变量 PAPAMETER 参数
* @Retention 作用是这什么地方可以保留该注释信息 就是声明周期
* RetentionPolicv 作用
* SOURCE 在源文件中有效
* CLASS 在class文件中有效
* RUNTIME 在运行时有效
* @Document 注解是否被包含在javaDoc中 表明该注解标记的元素可以被Javadoc 或类似的工具文档化
* @Lnherited 是否允许子类集成该注解 表明使用了@Inherited注解的注解,所标记的类的子类也会拥有这个注解
* @Component 允许通过包扫描的方式自动检测
*
* 所有注解,默认是一个实现了Annotation接口的接口。
* 下面就开始写一个自定义的注解
* */
@Target({ElementType.TYPE})//使用范围
@Retention(RetentionPolicy.RUNTIME)//生命周期
@Documented
public @interface CustomAnnotation {
String name() default "";
String age();
String sex();
}
=================
@CustomAnnotation(name = "haha",age="18",sex="123")