BT

如何利用碎片时间提升技术认知与能力? 点击获取答案

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

| 作者 Michael Redlich 关注 15 他的粉丝 ,译者 薛命灯 关注 24 他的粉丝 发布于 2017年12月26日. 估计阅读时间: 6 分钟 | CNUTCon 了解国内外一线大厂50+智能运维最新实践案例。

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之间跳转。
  • 支持隐式(不需要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

评价本文

专业度
风格

您好,朋友!

您需要 注册一个InfoQ账号 或者 才能进行评论。在您完成注册后还需要进行一些设置。

获得来自InfoQ的更多体验。

告诉我们您的想法

允许的HTML标签: a,b,br,blockquote,i,li,pre,u,ul,p

当有人回复此评论时请E-mail通知我
社区评论

允许的HTML标签: a,b,br,blockquote,i,li,pre,u,ul,p

当有人回复此评论时请E-mail通知我

允许的HTML标签: a,b,br,blockquote,i,li,pre,u,ul,p

当有人回复此评论时请E-mail通知我

讨论

登陆InfoQ,与你最关心的话题互动。


找回密码....

Follow

关注你最喜爱的话题和作者

快速浏览网站内你所感兴趣话题的精选内容。

Like

内容自由定制

选择想要阅读的主题和喜爱的作者定制自己的新闻源。

Notifications

获取更新

设置通知机制以获取内容更新对您而言是否重要

BT