注解定义:
@Target({ElementType.METHOD})//@Target注解说明Annotation的适用范围,METHOD意思为用在方法上
@Retention(RetentionPolicy.RUNTIME)//@Retention作用是定义被它所注解的注解保留多久,RUNTIME
public @interface Permission {
String[] value() default {};
Logical logical() default Logical.AND;
boolean allow() default false;
}
注解使用:
上面定义的是作用于方法的注解,所以我们需要在方法中使用@Permission
@Permission(value = {"字符串1","字符串2"},logical = Logical.AND,allow= true)
public void move(){}
在HandlerInterceptorAdapter中调用注解,使得执行方法前可以通过@Permission中的参数进行权限控制,具体步骤:
①定义MyHandlerInterceptorAdapter继承HandlerInterceptorAdapter
public class MyHandlerInterceptorAdapter extends HandlerInterceptorAdapter{
@Override
public boolean preHandle(HttpServletRequest request, HttpServletR