gpt4 book ai didi

java - Java EE 中的拦截器是什么?

转载 作者:IT老高 更新时间:2023-10-28 20:48:01 24 4
gpt4 key购买 nike

我试图澄清我对 Java EE 中的拦截器的概念。我已经阅读了 Java EE 规范,但我对此有点困惑。请为我提供一些有用的链接或教程,以清除我的概念。我们如何、何时、为什么使用拦截器?

最佳答案

拦截器用于从业务逻辑实现横切关注点,例如日志记录、审计和安全。

在 Java EE 5 中,拦截器只允许在 EJB 上使用。在 Java EE 6 中,Interceptors 成为了自己的新规范,在更高级别进行了抽象,以便可以更通用地应用于平台中更广泛的规范集。

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

在以下位置查找有效的代码示例:

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

Java EE 7 还在 Java Transaction API 中引入了新的 @Transactional 注解。这允许您在 EJB 之外拥有容器管理的事务。这个注解被定义为一个拦截器绑定(bind),并由 Java EE 运行时实现。 @Transactional 的工作示例位于:

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

关于java - Java EE 中的拦截器是什么?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18853221/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com