写点什么

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

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

关注

评论

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

记一次西安thoughtworks的面试经历

xcbeyond

面试 thoughtworks

ARTS 05 - 使用 Ecto.Migration 来做数据库迁移

jerry.mei

学习 算法 ARTS 打卡计划 函数式编程 Elixir

LeetCode 565. Array Nesting

liu_liu

算法 LeetCode

LeetCode 144. Binary Tree Preorder Traversal

liu_liu

算法 LeetCode

JVM系列之:详解java object对象在heap中的结构

程序那些事

Java JVM GC JOL

Docker容器中一定要避免的10件事

xcbeyond

Docker 避坑

自从用完Gradle后,有点嫌弃Maven了!速度贼快!

xcbeyond

maven Gradle

Apache BeanUtils和Spring BeanUtils剖析

Bruce Duan

BeanUtils 浅拷贝和深拷贝

Mybatis二级缓存,你确定要用么?

xcbeyond

mybatis 二级缓存 一级缓存

架构师训练营——请简述 CAP 原理

WW

JDK1.8新特性(四):函数式接口

xcbeyond

新特性 函数式编程 JDK1.8 JDK1.8新特性

IDEA 插件: EasyCode 一键生成所需代码

Bruce Duan

idea插件 easycode 生成代码

架构师训练营作业 (第七周)

默默

SpringBoot 使用 jasypt 对配置项进行加密

hungxy

Java springboot jasypt

两个指针缩小范围算法,CQRS 命令查询职责分离模式 John 易筋 ARTS 打卡 Week 09

John(易筋)

ARTS 打卡计划

ARTS打卡 第8周

引花眠

ARTS 打卡计划

如何保证消息不丢失?处理重复消息?消息有序性?消息堆积处理?

Bruce Duan

消息队列 保证消息不丢失 处理重复消息 消息有序性 消息堆积处理

MySQL 大表优化方案

Bruce Duan

MySQL优化

JDK1.8新特性(五):Stream,集合操作利器,让你好用到飞起来

xcbeyond

stream 集合 新特性 JDK1.8 JDK1.8新特性

性能测试

满山李子

极客大学架构师训练营

使用HSDB 查看jvm内存

引花眠

应届生求职面试真的有那么难吗

xcbeyond

面试 应届生

架构师训练营 -- 第七周学习总结

花花大脸猫

技术革新产业变革新动能

CECBC

写一个 web 性能压测工具

WW

什么?还没有自己的域名?

北漂码农有话说

企业架构框架之DoDAF

冯文辉

企业架构

分布式锁用 Redis 还是 Zookeeper?

xcbeyond

redis zookeeper 分布式锁

MyBatis几种好用的写法

Bruce Duan

MyBatis标签

week7 总结 性能测试

Geek_z9dmvw

MinIO 简介和搭建一个对象存储服务

耳东@Erdong

Minio store Object store

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