zir*_*iri 6 java interceptor java-ee-6
我有一个注释:
@Inherited
@InterceptorBinding
@Retention(RUNTIME)
@Target({METHOD, TYPE})
public @interface Example {
}
Run Code Online (Sandbox Code Playgroud)
以及用于处理的拦截器类:
@Interceptor
@Example
public class ExampleInterceptor implements Serializable {
...
}
Run Code Online (Sandbox Code Playgroud)
我想添加一个参数文本:
public @interface Example {
String text();
}
Run Code Online (Sandbox Code Playgroud)
但我不知道如何处理拦截器类中的参数.如何修改类的注释?
@Interceptor
@Example(text=???????)
public class ExampleInterceptor implements Serializable {
...
}
Run Code Online (Sandbox Code Playgroud)
如果我写@Example(text="my text"),则只在方法/类注释时调用拦截器@Example(text="my text").但是我希望在参数值上独立调用拦截器 - @Example(text="other text").
以及如何获取参数值?我是否必须使用反思或有更好的方法吗?
zir*_*iri 13
@Nonbinding使用注释时,会为每个属性值调用拦截器.
注解:
public @interface Example {
@Nonbinding String text() default "";
}
Run Code Online (Sandbox Code Playgroud)
拦截器:
@Interceptor
@Example
public class ExampleInterceptor implements Serializable {
...
}
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
6388 次 |
| 最近记录: |