写点什么

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

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

关注

评论

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

小程序开发技术解析:事件系统设计

Onegun

小程序 事件 小程序开发

2023年开放原子校源行(清华大学站)成功举行

开放原子开源基金会

开源 开放原子开源基金会 清华大学

软件测试 | 源码包安装的性能考虑

测吧(北京)科技有限公司

测试

【专家观点】贸易企业的数智化绩效管理

用友BIP

贸易

免费MES系统:助力企业数字化转型的利器

万界星空科技

开源 数字化转型

软件测试 | 影响MySQL性能的重要参数

测吧(北京)科技有限公司

测试

深度解读陕西省国资委最新发文,聚焦国资国企建设一流司库

用友BIP

全球司库 国资国企

直播软件APP源码iOS提交到APP store系列之上架指南

山东布谷科技

软件 直播 源码搭建 iOS APP上架 app store

软件测试 | table_cache的设置

测吧(北京)科技有限公司

测试

CCIA数安委等组织发起“个人信息保护影响评估专题工作”,合合信息首批入选试点

合合技术团队

人工智能 信息安全 个人信息保护

百度APP iOS端包体积50M优化实践(五) HEIC图片和无用类优化实践

百度Geek说

ios 性能优化 企业号 8 月 PK 榜

低代码平台什么意思

优秀

低代码平台

SpringCloud Gateway 在微服务架构下的最佳实践

阿里巴巴云原生

阿里云 云原生 Spring Cloud Gateway

从国内最早的开放银行浅聊技术创新

FinFish

技术创新 开放银行 小程序化 小程序技术

内网穿透之 ngrok

陈皮

代码随想录Day34 - 贪心算法(三)

jjn0703

5分钟get:Uni-App网络请求完美封装指南!

陇锦

微信小程序 uni-app 前端开发 uniapp 前端开发框架

打通数据治理全链路,火山引擎DataLeap数据治理平台公有云版本正式发布

字节跳动数据平台

大数据 数据中台 数据研发 企业号 8 月 PK 榜

软件测试 | 升级MySQL

测吧(北京)科技有限公司

测试

华为云低代码平台Astro Canvas 搭建汽车展示大屏——实验指导手册

软件开发 低代码 数据可视化 华为云

全链路灰度的挑战、实现思路与解决方案

阿里巴巴云原生

阿里云 云原生 全链路灰度

git rebase介绍与可视化工具(sourceTree)提效

时常看看太阳

git git rebase sourcetree

​加速大规模团队创新,开发安全、可靠、合规的汽车软件

龙智—DevSecOps解决方案

ACT汽车电子与软件技术周 汽车电子与软件技术周

加速数字化转型:龙智专家分享DevSecOps和ITSM工具性能优化策略——2023 DevOps国际峰会现场访谈

龙智—DevSecOps解决方案

DevSecOps devops国际峰会

智慧消防大数据监控系统 城市火警智能监测

2D3D前端可视化开发

智慧城市 智慧消防 消防物联网云平台 消防云控平台

软件测试 | 什么时候使用表锁

测吧(北京)科技有限公司

基于YonGPT 的企业收入/利税经营分析,让企业经营决策更从容

用友BIP

构建高效物理计划:从逻辑查询到算子实现

KaiwuDB

KaiwuDB SQL编译 物理计划构建

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