• CDI feature上下文依赖注入


    CDI(Contexts And Dependency Injection)是JavaEE 6标准中一个规范,将依赖注入IOC/DI上升到容器级别, 它提供了Java EE平台上服务注入的组件管理核心,简化应该是CDI的目标,让一切都可以被注解被注入。

     

    Contexts概念和我们之前在DCI架构中讨论的业务场景不一样,包含有容器技术架构场景的意思,场景包括四种:request (event), session, application, page,而SEAM框架拓展了两个 conversation 和 business process context。

    • EL表达式的扩展:CDI中默认支持EL表达式并对其进行了扩展,比如在JSF或JSP中,默认是不支持EL表达式传参的,如果结合CDI,那么就可以在EL表达式中传参数给后台Bean。
    • 拦截器:CDI提供了一个十分方便的方法来实现一个或多个拦截器,用来处理 cross-cutting concerns such as logging
    • 装饰器:装饰器可以让你动态的扩展或者重写现有的业务接口。这个功能十分方便,在CDI中,你在调用一个接口的实现类的时候,无须关心这个实现类的名称,所以在你更换新的实现的时候无需去修改你的代码,只需要在新的接口上面通过装饰器声明你要替换的之前的接口实现,然后在 bean.xml 中声明一下即可。
    • CDI还提供了Producer方法,也就是工厂方法的实现,这样在这个对象被注入之前,你可以定制一些你自己的东西。
  • 相关阅读:
    异常
    一线互联网大厂,内推吧!
    node-sass 安装失败的解决办法
    上下文执行栈
    1像素边框
    babel需要这样配置
    【webpack】中enforce的使用方法
    【webpack】中resolveLoader的使用方法
    【webpack】中的devtool的使用方法
    【webpack】中splitChunk的使用方法
  • 原文地址:https://www.cnblogs.com/XZY30/p/10703276.html
Copyright © 2020-2023  润新知