struts2 + spring +自定义注解+ 拦截器可以实现很多功能
spring 的拦截器可以实现很多需求,配合上自定义注解的话可以实现例如接口权限控制等。这里不实现具体需求,只做一个整体的效果,话不多说先上代码:
自定义注解
package sy.annotation;
import java.lang.annotation.Retention;
import java.lang.annotation.Target;
import java.lang.annotation.ElementType;
import java.lang.annotation.RetentionPolicy;
//表示在什么级别保存该注解信息
@Target({ElementType.METHOD, ElementType.TYPE})
//表示该注解用于什么地方
@Retention(RetentionPolicy.RUNTIME)
public @interface IgnoreAnnotation {
String authority() default "";
}
说明:
@Target说明了IgnoreAnnotation 所修饰的对象范围:
- IgnoreAnnotation 可被用于 packages、types(类、接口、枚举、Annotation类型)、类型成员(方法、构造方法、成员变量、枚举值)、方法参数和本地变量(如循环变量、catch参数)。在Annotation类型的声明中使用了target可更加明晰其修饰的目标。
取值(ElementType)有:
1.CONSTRUCTOR:用于描述构造器
2.FIELD:用于描述域
3.LOCAL_VARIABLE:用于描述局部