【发布时间】:2018-09-01 17:41:28
【问题描述】:
在https://javaee.github.io/tutorial/cdi-adv-examples005.html#GKHPA 的 JEE8 教程中,它有一个使用自己的拦截器绑定注解的拦截器。以下内容摘自教程:
拦截器类LoggedInterceptor,及其拦截器绑定, 记录的,都在拦截器包中定义。记录的 拦截器绑定定义如下:
@Inherited
@InterceptorBinding
@Retention(RUNTIME)
@Target({METHOD, TYPE})
public @interface Logged {
}
LoggedInterceptor 类如下所示:
@Logged
@Interceptor
public class LoggedInterceptor implements Serializable {
//...more code
}
我的问题是,有必要在拦截器类本身上使用@Logged注解吗?我已经运行了没有@Logged 注释的代码,即:
@Interceptor
public class LoggedInterceptor implements Serializable {
//...
而且它的行为方式似乎完全相同。通过玩弄代码,在我看来,将 @Logged 注释添加到方法 foo 是您将 foo 标记为需要被拦截的方法的方式。那么将类 LoggedInterceptor 标记为@Logged 有什么意义呢?
感谢您的帮助。
【问题讨论】:
标签: jakarta-ee ejb cdi