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:用于描述局部变量
4.METHOD:用于描述方法
5.PACKAGE:用于描述包
6.PARAMETER:用于描述参数
7.TYPE:用于描述类、接口(包括注解类型) 或enum声明
@Retent

本文介绍了如何结合Struts2和Spring,利用自定义注解和拦截器来实现接口权限控制。通过示例代码展示了自定义注解的@Target和@Retention使用,以及Struts2拦截器的关键配置。最后提到了这种做法在实际项目中的应用,如JWT token验证和权限验证。

3669

被折叠的 条评论
为什么被折叠?



