加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 编程开发 > Java > 正文

java – 如何处理拦截器绑定中的属性

发布时间:2020-12-14 05:28:37 所属栏目:Java 来源:网络整理
导读:我有一个注释: @Inherited@InterceptorBinding@Retention(RUNTIME)@Target({METHOD,TYPE})public @interface Example {} 以及用于处理的拦截器类: @Interceptor@Examplepublic class ExampleInterceptor implements Serializable {...} 我想添加一个参数文
我有一个注释:
@Inherited
@InterceptorBinding
@Retention(RUNTIME)
@Target({METHOD,TYPE})
public @interface Example {
}

以及用于处理的拦截器类:

@Interceptor
@Example
public class ExampleInterceptor implements Serializable {
...
}

我想添加一个参数文本:

public @interface Example {
    String text();
}

但我不知道如何处理拦截器类中的参数.如何修改类的注释?

@Interceptor
@Example(text=???????)
public class ExampleInterceptor implements Serializable {
...
}

如果我写@Example(text =“my text”),就会在使用@Example(text =“my text”)注释方法/类时调用拦截器.但是我希望在参数值上独立调用拦截器 – @Example(text =“other text”).

以及如何获取参数值?我是否必须使用反思或有更好的方法吗?

解决方法

使用注释@Nonbinding时,会为每个属性值调用拦截器.

注解:

public @interface Example {
    @Nonbinding String text() default "";
}

拦截器:

@Interceptor
@Example
public class ExampleInterceptor implements Serializable {
    ...
}

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读