1.创建注解
public @interface AnnottationName{}
2.元注解(描述注解的一种方式)
@Retention定义注解的生命周期:[source->class->runtime]
@Documented文档注解,会被Javadoc工具文档化
@Inherited是否让子类继承该注解
@Target描述了注解的应用范围:
TYPE: 表示可以用来修饰类,接口,注解类型或者枚举类型;
PACKAGE: 可以用来修饰包;
PARAMETER: 可以用来修饰参数;
ANNOTATION_TYPE: 可以用来修饰注解类型;
METHOD:可以用来修饰方法;
FIELD:可以用来修饰属性;
CONSTRUCTOR:可以用来修饰构造器;
LOCAL_VARIABLE: 可以来修饰局部变量;
3. 创建Java类关联自定义的注解,给其赋予功能
@Componet
@Aspect //Spring提供的AOP注解
public class MyAspect{
//@After()
//@Before()
@Around("@annotation(MyAspect)")//环绕执行,关联自定义注解名
public Object do(ProceedingJoinPoint joinPoint){ //传入切入点
do something------编写切入点前的逻辑代码
joinPoint.proceed();//执行目标本身方法
do something------编写目标代码执行完毕后的逻辑代码
return 0;
}
}