zoukankan      html  css  js  c++  java
  • Servlet CDI Analysis

    servlet cdi analysis

    CDI中最令人兴奋的功能是允许每个人在Java EE平台中编写强大的扩展性功能,甚至于改变其核心本身。这些扩展性功能是可以完全移植到任何支持CDI的环境中。

     

    CDI的一些主要特性

    1.类型安全:CDI根据Java类型来注入对象,用以代替之前的根据名称来注入对象。当类型不能充分唯一判断出注入对象时,我们可以使用@Qualifier注解来指定注入。这可以让编译器更容易发现错误,并提供更便捷的重构。

    2.POJO:几乎每一个Java对象都可以使用CDI来注入!包括EJB和JNDI的资源、持久化对象和已经实现过的工厂方法的任何对象。

    3.可扩展性:每一个CDI容器,我们都能很方便的对其增加扩展性功能,增加的扩展性功能可以运行在每一个CDI容器和无论哪个厂商的J2EE 6 服务器中,这一特性通过精心设计的SPI(服务供应接口)得以实现,并成为JSR-299规范的一部分。

    4.拦截器:它可以很容易的实现你自己的拦截器。因为JSR-299提供了很便捷的方式,他们现在也可以运行在每一个CDI容器和 J2EE 6 服务器中。这是通过指定一个实现了一部分JSR-299的SPI(服务提供接口)来实现的。

    5.可修饰性:它允许动态的扩展已存在的接口实现和代码切面。

    6.事件:CDI指定了一个低耦合的类型安全机制来发送和接受事件。

    7.集成EL表达式:EL 2.2 具有很强的功能和高度的灵活性,CDI提供了对它的插件式支持。

     

    @WebServlet("/cdiservlet")//url映射

    public class NewServlet extends HttpServlet {//声明一个NewServlet类 并继承HttpServlet

        @Inject private Message message;//表示运行时将动态注入(实例化)一个Message

        @Override //重写父类doGet()方法

        public void doGet(HttpServletRequest request, HttpServletResponse response)

                      throws IOException {

            response.getWriter().write(message.get());//带文本格式打印输出message.get()返回的文本

        }

    }

  • 相关阅读:
    flash中网页跳转总结
    as3自定义事件
    mouseChildren启示
    flash拖动条移出flash无法拖动
    需要一个策略文件,但在加载此媒体时未设置checkPolicyFile标志
    Teach Yourself SQL in 10 Minutes
    电子书本地转换软件 Calibre
    Teach Yourself SQL in 10 Minutes
    Teach Yourself SQL in 10 Minutes
    Teach Yourself SQL in 10 Minutes – Page 31 练习
  • 原文地址:https://www.cnblogs.com/448aml/p/10633193.html
Copyright © 2011-2022 走看看