写点什么

IntelliJ IDEA 2017.3: 增强对 Java EE 8、Spring Boot 和 JUnit 的支持

  • 2017-12-25
  • 本文字数:1509 字

    阅读完需:约 5 分钟

JetBrains 最近发布了IntelliJ IDEA 2017.3,带来了很多新特性,包括增强对Java、Java EE 8、Spring Boot、Kotlin 和Docker 的支持。2017.3 是在2017.2 之后三个月发布的,在正式发布之前,JetBrains 已经提供了最新的公共预览版,用于收集社区的问题反馈。下面列出一些主要的特性改进。

Java EE 8

与Java EE 8 相关的特性包括支持CDI 2.0 和Servlet 4.0 的HTTP/2。

CDI 2.0 方面的增强:

  • 异步事件——可以在已触发和已接收到的 CDI 异步事件之间跳转。

  • 动态 Bean——这是 CDI 的一个扩展,可以在注入点和注入的 Bean 之间跳转。

  • 支持新的内置接口,如 RequestContextController InterceptionFactory

  • 支持隐式(不需要 beans.xml 配置文件)和显式的 Bean 归档(archive)。

下面是 CDI 2.0 异步事件相关特性的演示。

Java Servlet 4.0 规范( JSR 369 )引入了服务器端推送特性,其中包括一个新的 PushBuilder 接口。如下图所示,最新发布的 IntelliJ IDEA 为 PushBuilder 提供了路径自动完成功能。

可配置的命令行参数缩短器

可配置的命令行参数缩短器(shortener)可以用于缩短类路径长度,这在项目的类路径长度超过了操作系统的命令行长度限制时是非常有用的。JetBrains 的市场经理 Zlata Kalyuzhnaya 讲述了在实现这一特性时遇到的挑战:

缩短类路径长度有多种方式,最开始,IntelliJ IDEA 将类路径写到文本文件里(这就需要一个额外的中介类加载器),但其他一些框架并不支持这么做,如 JMock。后来,IntelliJ IDEA 尝试了更加标准的做法,就是将类路径打包进 classpath.jar 里,可惜,某些框架仍然不支持这种方式。
我们无法预测哪一种方式可以适用于用户的应用程序,所以我们就把决定权交给了用户。2017.3 版本的 IntelliJ IDEA 为应用程序、JUnit 和 TestNG 提供了可配的命令行缩短器。

Spring Boot 和 Spring MVC

对 Spring Boot 和 Spring MVC 最新的支持包括了 Spring Boot 配置文件的语法高亮、Spring Boot 2.0 Actuator 端点、Spring Cloud 框架和 MVC Context 自动检测。如下图所示,在 Spring MVC 应用程序的相关文件之间跳转现在变得更加容易。

在运行 Spring Boot 2.0 的应用程序时,运行仪表盘区域为它们提供了相关的端点信息。

JUnit 5

IntelliJ IDEA 在 JUnit 5 正式发布之前就已支持它,而最新版本则提供了更多的特性,包括可选择性地将单元测试用例迁移至 JUnit 5。例如,假设有下列所示的 JUnit 4 单元测试用例:

复制代码
import org.junit.Assert;
import org.junit.Test;
public class FirstTest {
@Test
public void myFirstTest() {
Assert.assertEquals("one plus one should equal two", 2, 1 + 1);
}
}

通过在菜单中选择“Migrate to JUnit 5”,可以将这个测试用例转成 JUnit 5 的测试用例:

复制代码
import org.junit.jupiter.api.Assertions;
import org.junit.jupiter.api.Test;
public class FirstTest {
@Test
public void myFirstTest() {
Assertions.assertEquals(2, 1 + 1, "one plus one should equal two");
}
}

其他资源

IntelliJ iDEA 2017.2: Smarter, Neater, and Faster by InfoQ (August 27, 2017)

IntelliJ IDEA 2017.3 EAP: Configurable Command Line Shortener and More by Zlata Kalyuzhnaya(October 11, 2017)

What’s New in IntelliJ IDEA 2017.3 EAP for Java EE 8 by Zlata Kalyuzhnaya (October 17, 2017)

What’s New in IntelliJ IDEA 2017.3 for Spring Boot by Zlata Kalyuzhnaya (November 3, 2017)

IntelliJ IDEA 2017.3: JUnit Support by Zlata Kalyuzhnaya (November 15, 2017)

查看英文原文: IntelliJ IDEA 2017.3: Enhanced Support for Java EE 8, Spring Boot, and JUnit

2017-12-25 18:002677
用户头像

发布了 322 篇内容, 共 134.3 次阅读, 收获喜欢 144 次。

关注

评论

发布
暂无评论
发现更多内容

【死磕Java并发】—–深入分析volatile的实现原理

chenssy

11月日更 死磕 Java 死磕 Java 并发

固定价格项目能否敏捷?

Bruce Talk

敏捷 随笔 Agile

算法入门-选择排序

ES_her0

11月日更

15年手持4个大厂offer的我,今天面试今日头条体无完肤

android 程序员 移动开发

软件测试高效学习方法

程序员阿沐

学习方法 程序员 互联网 软件测试 计算机

构建数据网格分布式架构的四项原则

俞凡

架构 数据

腾讯云数据库TDSQL已助力20余家金融机构完成核心系统替换 即将进入规模化复制阶段

科技热闻

记录渗透靶场实战【网络安全】

网络安全学海

网络安全 信息安全 渗透测试 WEB安全 安全漏洞

10道阿里Android岗必问题摆这儿了,你爱刷不刷!(附参考回答解析

android 程序员 移动开发

MacBook 搭建VUE3开发环境

IT蜗壳-Tango

11月日更

Vue进阶(幺陆柒):Vue 项目调试技能

No Silver Bullet

Vue 11月日更

思科基本网络连接与IOS的基本操作 「网络工程师之路」

Regan Yue

网络工程师 11月日更 思科 网络工程

反垄断专家如何看待区块链监管的发展方向

CECBC

老友(研发岗)被裁后,想加盟小吃店,我用Python采集了一点数据,多少是个心意

梦想橡皮擦

11月日更

架构实战营-模块6作业

Nullrable

架构实战营

架构实战营-设计消息队列存储消息数据的 MySQL 表格

Nullrable

架构实战

如何提升口头表达能力?

石云升

表达 11月日更

与德勤论道企业数字化战略到落地

大咖说

云计算 数字化转型 数字化 企业上云 阿里云;

架构实战营-模块三

瓜子葫芦侠

「架构实战营」

06 K8S之kubectl命令介绍

穿过生命散发芬芳

k8s 11月日更

12月面试ing-本以为学了个好找工作的Android开发,没想到又是坑---

android 程序员 移动开发

【设计模式】第十二篇 - 桥接模式 - 露娜的召唤师技能

Brave

设计模式 桥接模式 11月日更

前端开发工具之Mock.js

Augus

11月日更

智+人:在云端重塑一场认知革命

脑极体

thanos-io/thanos-CONTRIBUTING.md

卓丁

Prometheus Thanos thanos.io Contributing github Contributing

dart系列之:dart语言中的变量

程序那些事

flutter dart 程序那些事 11月日更

eBPF: 让云原生运维拥有超能力

俞凡

云原生 网络 ebpf

绝佳的录屏编辑神器,一款走遍天下!!

淋雨

Camtasia

iOS开发:报错‘Unknown class ViewController in Interface Builder file’解决方法

三掌柜

11月日更

rabbitmq简介

小鲍侃java

11月日更

设计模式【3.2】-- JDK动态代理源码分析有多香?

秦怀杂货店

源码分析 动态代理

IntelliJ IDEA 2017.3: 增强对Java EE 8、Spring Boot和JUnit的支持_Java_Michael Redlich_InfoQ精选文章