vue.jsr入门

上下文和依赖注入2.0( JSR 365 )是CDI 1.2的更新,CDI 1.2目前是Java EE 7平台的一部分。 目前处于公开审查阶段 。 对于不熟悉CDI的那些人,它定义了一组功能强大的免费服务,这些服务可充当凝胶,帮助改善应用程序代码的协调性和结构。 有关更多详细信息,请访问规格页面 。

CDI 2.0也将上下文和依赖注入服务的可用性扩展到Java SE,因为它现在将同时面向Java SE和Java EE平台。 CDI规范分为三部分, 第一部分-核心CDI , 第二部分-Java SE中的 CDI , 第三 部分-Java EE中的CDI 。 CDI 2.0的主要更改如下:

  • 与Java SE 8更好地结合
  • 用于在Java SE应用程序中引导CDI的API
  • 提供观察者订购的能力
  • 能够触发异步事件
  • 服务提供商接口(SPI)元素的新配置器接口
  • 能够在ProcessObserverEvent事件中配置或否决观察者方法
  • 支持特定注释类型的内联实例化
  • 增加了InterceptionFactory接口,该接口允许创建一个包装实例,该包装实例的方法调用被方法拦截器拦截并转发到提供的实例。

我鼓励您查看CDI 2.0公共审查草案,以详细了解列出的每个增强功能的详细信息以及新功能的完整列表。 通读草案并向专家组提供反馈。 有关提供反馈的所有相关详细信息,请参见JSR 365页面 。 要开始测试,请在您喜欢的IDE中创建一个新的基于Maven的Java EE应用程序,并添加以下依赖项:

<dependency><groupid>javax.enterprise</groupid><artifactid>cdi-api</artifactid><version>2.0-PFD</version></dependency><dependency><groupid>org.jboss.weld</groupid><artifactid>weld-core-bom</artifactid><version>3.0.0.Alpha14</version><type>pom</type></dependency>

在本文中,我们将深入探讨其中的一项新功能,以帮助您开始使用API​​。 让我们看一下异步事件。 在CDI 2.0之前,只能以同步方式触发事件。 在用于异步处理的最新迭代中对它们进行了增强。 运作方式如下:

创建某种类型的事件。 接下来,以异步方式触发事件,并在事件完成后相应地进行处理。 在此示例中,我创建了MovieEvent类,只要Movie对象发生持久事件,该类都将使用该类。 MovieEvent类如下:

public class MovieEvent {private String message;private Movie movie;public MovieEvent(String message, Movie movie){this.message = message;this.movie = movie;}public String getMessage(){return this.message;}public void setMessage(String message){this.message = message;}public Movie getMovie(){return this.movie;}public void setMovie(Movie movie){this.movie = movie;}}

在以下情况下,当新的电影持续存在时,我们将触发一个事件。 以下代码位于示例JSF应用程序的MovieController CDI bean中:

@Named("movieController")
@SessionScoped
public class MovieController implements Serializable {@EJBprivate com.mycompany.cditest.session.MovieFacade ejbFacade;private List items = null;private Movie selected;@InjectEvent<MovieEvent> movieEvents;
. . .private void persist(PersistAction persistAction, String successMessage) {if (selected != null) {setEmbeddableKeys();try {if (persistAction != PersistAction.DELETE) {getFacade().edit(selected);movieEvents.fireAsync(new MovieEvent("New Movie Released", selected)).whenComplete((event, throwable) -> {if(throwable != null){System.out.println("Error has occurred: " + throwable.getMessage());} else {System.out.println("Successful Movie Processing...");}});} else {getFacade().remove(selected);}JsfUtil.addSuccessMessage(successMessage);} catch (Exception ex) {Logger.getLogger(this.getClass().getName()).log(Level.SEVERE, null, ex);JsfUtil.addErrorMessage(ex, ResourceBundle.getBundle("/Bundle").getString("PersistenceErrorOccured"));}}
. . .

触发事件时,它将创建一个新的MovieEvent对象,如果成功完成,则将显示一条消息以指示成功。 在此示例中,流用于处理“ whenComplete”动作。

随意克隆位于https://github.com/juneau001/CdiTest的存储库,并进行CDI 2.0测试。 此示例只是CDI 2.0的一个简单测试。 您可以克隆并利用此测试项目作为与规范其他方面一起工作的起点。 请密切注意目前处于“公开审核”投票阶段的JSR 365。

翻译自: https://www.javacodegeeks.com/2017/03/jsr-365-update-digging-cdi-2-0.html

vue.jsr入门

vue.jsr入门_JSR 365更新:深入CDI 2.0相关推荐

  1. vue.jsr入门_JSR-308和Checker框架为jOOQ 3.9添加了更多类型安全性

    vue.jsr入门 Java 8引入了JSR-308,它为Java语言添加了新的注释功能. 最重要的是:键入注释. 现在可以像下面这样设计怪物了: 比注解更疯狂的是类型注解. 在数组上. 谁认为这是有 ...

  2. element vue 动态单选_软件更新丨vue-element-admin 4.0.0 beta 发布,后台集成方案

    vue-element-admin 4.0.0 beta 发布了. vue-element-admin 是一个后台集成解决方案,它基于 vue 和 element.它使用了最新的前端技术栈,内置了 i ...

  3. JSR 365更新:深入CDI 2.0

    上下文和依赖注入2.0( JSR 365 )是CDI 1.2的更新,CDI 1.2目前是Java EE 7平台的一部分. 目前处于公开审查阶段 . 对于不熟悉CDI的那些人,它定义了一组功能强大的免费 ...

  4. Vue开发入门看这篇文章就够了

    摘要: 很多值得了解的细节. 原文:Vue开发看这篇文章就够了 作者:Random Fundebug经授权转载,版权归原作者所有. 介绍 Vue 中文网 Vue github Vue.js 是一套构建 ...

  5. vue 数组删除 dome没更新_详解Vue响应式原理

    摘要: 搞懂Vue响应式原理! 作者:浪里行舟 原文:深入浅出Vue响应式原理 Fundebug经授权转载,版权归原作者所有. 前言 Vue 最独特的特性之一,是其非侵入性的响应式系统.数据模型仅仅是 ...

  6. VUE—从入门到飞起(二)

    目录 过滤器filter vue-resource发送http请求 axios发送http请求 VUE生命周期 VUE生命周期钩子函数 自定义指令 watch computed VUE-从入门到飞起( ...

  7. vue.js 入门,简介

    vue的源代码下载--开发版本和生产版本 https://cn.vuejs.org/js/vue.js https://cn.vuejs.org/js/vue.min.js vue中文学习官网 htt ...

  8. 【Vue 快速入门】从零开始搭建 VUE + Element UI后台管理系统框架

    [Vue 快速入门]从零开始搭建 VUE + Element UI后台管理系统框架 前言 后台管理系统前端框架,现在很流行的形式都是,上方和左侧都是导航菜单,中间是具体的内容.比如阿里云.七牛云.头条 ...

  9. vue 快速入门指南(一)

    忆君心似西江水,日夜东流无歇时. 前言 先聊一下前端开发模式的发展. 静态页面 最初的网页以HTML为主,是纯静态的网页.网页是只读的,信息流只能从服务端到客户端单向流通.开发人员也只关心页面的样式和 ...

最新文章

  1. 位图 查找重复 排序 存数据
  2. jmeter根据循环获取参数_jmeter forEach循环获取response参数值进行接口请求
  3. 查看当前系统的glibc版本
  4. Android开发之通过ImageView名称从文件夹拿到ImageView的Drawable对象的方法
  5. linux docker查看容器状态,Docker容器状态命令行工具——Ctop
  6. 【优化】C#利用ODP.NET往oracle中高效插入百万数据
  7. JAVA学习笔记001---认识了解NIO
  8. 一文读懂斗鱼上市:直播江湖风云再起,强行盈利背后的艰难上市路
  9. 编程语言大牛王垠的过去和现状
  10. 笔记本wifi共享出来能够连接但是没有网速
  11. Linux系统的特点有哪些
  12. unity Quality Settings 质量设置
  13. linux 设置默认播放设备,Ubuntu MATE 19.10采用GNOME MPV(Celluloid)做为默认媒体播放器...
  14. java设计一个user类_关于JAVA设计一个用户类
  15. 802.11n PHY-MAC层帧结构解析
  16. 电商数仓描述_笔记-尚硅谷大数据项目数据仓库-电商数仓V1.2新版
  17. 不安分的 Go 语言开始入侵 Web 前端领域了!
  18. mysql 5.5 my.cnf_MySQL配置文件my.cnf优化详解(mysql5.5)
  19. 分享全球外贸免费发布产品的平台-跨境贸易平台
  20. 基于HTML+CSS+JS制作商城(web前端网页制作课作业)--7古典乐器网 8页

热门文章

  1. 递推:Ybtoj: D.4 序列个数
  2. 51nod1675-序列变换【莫比乌斯反演】
  3. 【搜索树】高级打字机(luogu 1383)
  4. 北方大学 ACM 多校训练赛 第十五场 蜘蛛牌A
  5. 这几道 Redis 面试题都不懂,怎么拿 Offer?
  6. mybatis更新Blob类型字段要用updateByPrimaryKeyWithBLOBs
  7. 关于Heap Dump
  8. 数据库连接池的选择及其开发配置
  9. 史上最全Java多线程面试题
  10. Spring 知识点详解