Java EE中的拦截器是什么?

发布于 2021-01-29 19:53:00

我正在尝试清除有关Java EE中的拦截器的概念。我已经阅读了Java
EE规范,但对此并不太困惑。请提供一些有用的链接或教程,以阐明我的概念。我们如何,何时,为什么使用拦截器?

关注者
0
被浏览
103
1 个回答
  • 面试哥
    面试哥 2021-01-29
    为面试而生,有面试问题,就找面试哥。

    拦截器用于实现业务逻辑中的跨部门关注点,例如日志记录,审核和安全性。

    在Java EE 5中,拦截器仅在EJB上被允许。在Java EE
    6中,Interceptors成为了它自己的一个新规范,在更高层次上进行了抽象,因此可以更通用地应用于平台中的更广泛的规范集。

    它们拦截关联目标类上的调用和生命周期事件。基本上,拦截器是一个类,当调用目标类上的业务方法,发生生命周期事件(例如创建/销毁bean的方法)或EJB超时方法时,其方法就会被调用。CDI规范定义了一种使用拦截器绑定将拦截器与bean关联的类型安全机制。

    在以下位置查找工作代码示例:

    https://github.com/arun-
    gupta/javaee7-samples/tree/master/cdi/interceptors

    Java EE 7还在Java Transaction
    API中引入了新的@Transactional批注。这使您可以在EJB外部进行容器管理的事务。此批注定义为拦截器绑定,并由Java
    EE运行时实现。@Transactional的工作示例位于:

    https://github.com/arun-gupta/javaee7-samples/tree/master/jta/transaction-
    scope



知识点
面圈网VIP题库

面圈网VIP题库全新上线,海量真题题库资源。 90大类考试,超10万份考试真题开放下载啦

去下载看看