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 5IntelliJ 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