JetBrains最近 发布 了IntelliJ IDEA 2017.3,带来了 很多新特性 ,包括增强对Java、Java EE 8、Spring Boot、Kotlin和Docker的支持。2017.3是在2017.2之后三个月发布的,在正式发布之前,JetBrains已经提供了最新的 公共预览版 ,用于收集社区的问题反馈。下面列出一些主要的特性改进。
与Java EE 8相关的特性 包括支持CDI 2.0和Servlet 4.0的HTTP/2。
CDI 2.0方面的增强:
下面是CDI 2.0异步事件相关特性的演示。
Java Servlet 4.0规范( JSR 369 )引入了服务器端推送特性,其中包括一个新的 PushBuilder 接口。如下图所示,最新发布的IntelliJ IDEA为PushBuilder提供了路径自动完成功能。
可配置的命令行参数缩短器(shortener)可以用于缩短类路径长度,这在项目的类路径长度超过了操作系统的命令行长度限制时是非常有用的。JetBrains的市场经理 Zlata Kalyuzhnaya 讲述了在实现这一特性时遇到的挑战:
缩短类路径长度有多种方式,最开始,IntelliJ IDEA将类路径写到文本文件里(这就需要一个额外的中介类加载器),但其他一些框架并不支持这么做,如JMock。后来,IntelliJ IDEA尝试了更加标准的做法,就是将类路径打包进classpath.jar里,可惜,某些框架仍然不支持这种方式。
对Spring Boot和Spring MVC最新的支持包括了Spring Boot配置文件的语法高亮、Spring Boot 2.0 Actuator端点、Spring Cloud框架和MVC Context自动检测。如下图所示,在Spring MVC应用程序的相关文件之间跳转现在变得更加容易。
在运行Spring Boot 2.0的应用程序时,运行仪表盘区域为它们提供了相关的端点信息。
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