10 月 23 - 25 日,QCon 上海站即将召开,现在购票,享9折优惠 了解详情
写点什么

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:003169
用户头像

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

关注

评论

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

揭示低代码与AI结合的商业价值

天津汇柏科技有限公司

人工智能 低代码

探索HarmonyOS位置服务:为用户提供直观的坐标显示

白晓明

HarmonyOS HarmonyOS NEXT 位置服务 地理编码转化 逆地理编码转化

DDD-2-事件风暴

南山

领域驱动设计 DDD 事件风暴

交通数字化转型路在何方?华为大咖带你破局

轶天下事

8 个Spring AOP 全部注解:真实业务使用案例说明(必须收藏)

肖哥弹架构

Java spring spring aop

天猫商品详情API:深度挖掘商品推荐与关联的新路径

代码忍者

API 接口 API 测试

统一多场景自动编译加速

百度Geek说

编译器 百度飞桨

机器人测试自动化智能化交流沙龙 —免费参与,线上线下同步进行

测试人

软件测试

《CSS揭秘》PDF

程序员李木子

"解锁数据潜能,实时商品监控:淘宝API在驱动业务增长中的实战策略"

代码忍者

API 接口 API 测试

天猫商品详情API:商品推荐与关联的获取

技术冰糖葫芦

API Explorer API 接口 API 测试 API 策略 pinduoduo API

无缝连接!YashanDB DBLink技术应用实践

YashanDB

yashandb 崖山数据库 崖山DB

身份管理“六边形战士”闪亮登场

芯盾时代

身份安全 iam 统一身份认证 身份和访问管理

如果提议者提议区块的时间晚了,会对见证有何影响?

TechubNews

又遇百度面试,被疯狂拷打

王中阳Go

Go 数据库 百度 面试 面经

【ACL2024】基于动态辅助融合的大模型序列编辑

阿里云大数据AI技术

人工智能 自然语言处理 acl 论文 大模型

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