【问题标题】:Overwrite CDI configuration in xml file覆盖 xml 文件中的 CDI 配置
【发布时间】:2015-11-18 00:21:30
【问题描述】:

在 jee(EJB、servlet)和许多其他 java 库(spring)中,有一个通用规则,即通过注释完成的所有操作都可以用 xml 文件覆盖。

在我看来,在 CDI 的情况下,上述规则不适用。请确认或否认我的观点。

beans.xml 是否只接受:替代装饰器拦截器和扫描顶级元素(netbeans 仅建议这样做)?

我可以例如仅通过 beans.xml 文件创建 @Named CDI beans 吗?

我可以在 beans.xml 文件中覆盖 @Interceptor 的 @Priority 吗?

【问题讨论】:

    标签: java jakarta-ee cdi java-ee-6


    【解决方案1】:

    好吧,正如我在之前的answer 中指出的那样,您不能覆盖beans.xml 中的拦截器。这与 Spring 不同,您可以通过 XML 文件覆盖注释,甚至将它们合并在一起。 beans.xml 仅用于以下几个目的(您可以通过查看 XSD schema 来验证)

    • 定义拦截器类
    • 定义装饰器
    • 注册备选方案
    • 条件扫描

    这就是目前 CDI 1.1 beans.xml 所能做的一切。

    【讨论】:

      猜你喜欢
      • 2011-06-10
      • 1970-01-01
      • 2018-11-29
      • 1970-01-01
      • 1970-01-01
      • 2019-07-02
      • 2013-10-18
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多