IntelliJ IDEA 2022.2正式发布,支持Spring Boot 3和Spring 6

简介: 它变快了,也变强了

在这里插入图片描述

本文已被 https://yourbatman.cn收录; 女娲Knife-Initializr工程可公开访问啦;程序员专用网盘 https://wangpan.yourbatman.cn;技术专栏源代码大本营: https://github.com/yourbatman/tech-column-learning;公号后台回复“ 专栏列表”获取全部小而美的 原创技术专栏

你好,这里是Java方向盘,我是方向盘(YourBatman),坐稳扶好,开始发车。

Title Link
所属专栏 【方向盘】-IntelliJ IDEA
源代码 https://github.com/yourbatman/FXP-java-ee
程序员专用网盘公益上线啦,注册送1G超小容量,帮你实践做减法 https://wangpan.yourbatman.cn
Java开发软件包(Mac) https://wangpan.yourbatman.cn/s/rEH0 提取码:javakit
女娲工程 http://152.136.106.14:8761
版本约定 [Mac OS 12.5],[IntelliJ IDEA 2022.2]

📚前言

它来了,它又来了。新版IDEA如约而至:2022年7月26日IntelliJ IDEA 2022.2正式发布。吃肉之前,可先把这之前系列的汤喝了,每篇都很顶哦:

诚然,我特别喜欢软件追新,每次macOS、Spring Boot、Spring Framework、IntelliJ IDEA发布大、中型版本,我本人都第一时间升级,然后使用几天后写篇文章介绍体验,分享给大家。

当然,越到后面可能觉得越写不动,自己升级归升级,分享出来就没那么多精力

不得不说,每次看到新的启动图就焕然一新之感,就是这么喜新厌旧:
在这里插入图片描述
弱弱评论一句,本启动图相较于上个版本(2022.1)变化挺小,设计师偷懒?

✍正文

官网对本次更新的概要性总结:IntelliJ IDEA 2022.2 为远程开发功能带来了多项质量改进,使其更美观、更稳定。 从 v2022.2 开始,IntelliJ IDEA 使用 JetBrains Runtime 17,后者可以从多方面增强 IDE 体验和性能。 IntelliJ IDEA Ultimate 添加了对 Spring 6 和 Spring Boot 3 功能的支持,也为多个其他框架引入了更新。 新版本还具有多项值得注意的升级和改进。

🌈what’s new(新特性)

老规矩,将我们关心的功能一一枚举。

🚀支持Spring 6和Spring Boot 3

Spring Boot 3已来到M4版本,举例正式版发布仅4个月左右。本次大版本号的升级,改变主要总结为两句话:

  1. 功能与Spring Boot 2.x(当然指的最新版2.x)基本保持不变
  2. 依赖大幅升级(阻断式升级)

    1. 最低要求Java 17
    2. 最低要求Spring Framework 6
    3. Maven最低要求3.5.x,Gradle最低要求7.3.x
    4. 彻底启用Java EE,改用最低依赖Jakarta EE 9(关于Jakarta EE,这篇值得一读:【方向盘】认为:开发者已无理由再用Java EE
    5. 删除一些依赖项,如:Apache ActiveMQ、Atomikos、EhCache 2、HazelCast 3、Jersey等等

既然Spring Boot 3并没有显著的功能变化,那这次新版IDEA指的“支持Spring 6和Spring Boot 3”什么意思呢?先来看官网的解释:支持新的@AutoConfiguration类和@ConfigurationProperties类,涵盖新的构造函数绑定语法,无需显示@ConstructorBinding

🚩新的@AutoConfiguration

真相是@AutoConfiguration是Spring Boot 2.7.x新增的注解:
在这里插入图片描述
在我这篇文章有详细说明:【方向盘】Spring Boot 2.7.0正式发布,弃用OkHttp 3、弃用spring.factories机制。还记得我这这篇文章里的语言吗?有截图为证哦:
在这里插入图片描述

这不,让我将IDEA升级到2022.2后,支持鼠标点击跳转了:
在这里插入图片描述

🚩无需显示标注@ConstructorBinding

这是Spring Boot 3.0之前:
在这里插入图片描述Spring Boot 3.0版本:此注解只允许标注在构造器,不能再标注在类上了
在这里插入图片描述
多说一嘴:@ConstructorBinding注解和@Component(及派生注解)不能一起使用。只能通过@EnableConfigurationProperties(Xxx.class)启用。其中原因,有点Spring Boot基础的同学应该不难解释吧,评论区秀一秀?

在老版本的IDEA中若没有标注@ConstructorBinding会飘红(但运行时不会有问题),升级到新版IDEA后,就清爽多了。

🚀 JBR 11升级到JBR 17

在这里插入图片描述
JBR:JetBrains Runtime。从此版本起,依赖Java 17,从而IDE的性能显著提升。同时,得益于苹果公开的Metal API,macOS上的渲染能力进一步得到提升。

什么是Metal API?它是Apple平台提供低开销 API、丰富的着色语言、图形和计算之间的紧密集成以及无与伦比的 GPU分析和调试 工具套件,为 Apple平台上的硬件加速图形提供支持

用mac的老铁,不用犹豫了,升吧

🚀 运行当前文件

在这里插入图片描述
这个功能还是蛮香的,对效率提升有帮助。

之前运行/启动程序一般使用“运行上一次”的快捷键(或者鼠标点击启动按钮),但这种方式有个弊端:当切换文件想运行一个另一文件里的新入口时,这时就不得不使用到鼠标进行入口定位了(当然也有运行当前file的快捷键)。

现在,不用了!新版本IDEA支持自动定位(如上图,选中Current File):在当前文件内运行,就会自动帮你定位到当前文件的main方法入口,跟家方便了。

🚀 针对Java语言更好的代码检查和自动补全

这个特性其实不用特别的举例,在使用过程中慢慢发现就好。不过个人有个建议或许你可参考:优秀的程序员追求代码的质量,从敬畏警告开始

Tips:建议在IDEA开启sonar实时检查,它会教你做人(不对,教你写代码)

🚀 更强的性能分析器

在这里插入图片描述
在这里插入图片描述
这个功能在本系列之前文章中有过详细介绍,这里就不再赘述了。

PS:此功能从实验性走到现在正式发布,已值得信赖,可以用来做性能分析用。在本地使用,非常高效

它不仅仅支持Java语言,Kotlin、Scala都是可以分析的~

🚀 其它

  • 对最新的Kotlin 1.7.0新功能的支持
  • 改进IDE对Kotlin的性能(含代码高亮、补全、查找等)
  • 对Scala 3支持更好
  • 支持Groovy 4语法高亮
  • 支持Spring 6中新声明式 HTTP 客户端
  • 支持Spring Cloud Gateway路由的 URL 补全和导航
  • 更好的支持Spring Shell
  • JSON、YAML 和 .properties字符串值中若是URL可以点击了
  • 改进对Bean Validation的支持:更好的提示、补全
  • 支持最新的Jakarta Persistence 3.1
  • 提供对Vue 3、Angular、TypeScript 4.7更好的支持

✍总结

本次IDEA中型版本更新,最吸引我的是:更流畅,它变快了,也变强了。同时支持Spring Boot 3和Spring 6也让能助我更好的体验新特性。

升级建议:单凭它变得更流畅这一点,mac用户无脑升就对了。

PS:windows用户虽然没有Metal API,但理论上流畅度上也有所提升(毕竟切JBR 17了嘛)

推荐阅读

在这里插入图片描述

我是方向盘(YourBatman):前25年不会写Hallo World、早已毕业的大龄程序员。高中时期《梦幻西游》骨灰玩家,网瘾失足、清考、延期毕业、房产中介、保险销售、送外卖...是我不可抹灭的黑标签

  • 🎓2013.07 清考、毕业答辩3次未通过、延期毕业
  • 🏷2013.08-2014.07 宁夏中介公司卖二手房1年,毕业后第1份工作
  • ️️🏷2014.07-2015.05 荆州/武汉,泰康人寿卖保险3月、饿了么送外卖2月,还有炸鸡排、直销等第2345份工作
  • 🏷2015.08 开始从事Java开发,闯过外包,呆过大厂!擅长抽象思维,任基础架构团队负责人
  • 🏷2021.08 因“双减政策”失业!历经9面,终获美团外卖L8的offer
  • 🙅🏻‍♀️Java架构师、Spring开源贡献者、CSDN博客之星年度Top 10、领域建模专家、写作大赛1/2届评委
  • 📚高质量代码、规范践行者;DDD领域驱动深度实践;即将出版书籍《Spring奇淫巧技》

在这里插入图片描述

序号 专栏名称 简介
01 【方向盘】-程序人生 程序人生,人生程序
02 【方向盘】-资讯/新特性 IDEA、JDK、Spring技术栈......新特性
03 【方向盘】-IntelliJ IDEA 熟练使用IDEA就相当拥有物理外挂,助你高效编码
04 【方向盘】-Bean Validation 熟练掌握数据校验,减少90%的垃圾代码
05 【方向盘】-日期时间 帮你解决JDK Date、JSR 310日期/其实 的一切问题
06 【方向盘】-Spring类型转换 Spring类型转换-框架设计的基石
07 【方向盘】-Spring static static关键字在Spring里的应用
08 【方向盘】-Cors跨域 关于跨域请求问题,本专栏足矣
09 【方向盘】-Jackson Almost Maybe是最好的Jackson专栏
10 【方向盘】-Spring配置类 专讲@Configuration配置类,你懂的
11 【方向盘】-Spring技术栈 暂无所属小分类的,Spring技术栈大分类
12 【方向盘】-JDK 暂无所属小分类的,JDK技术栈大分类
13 【方向盘】-Servlet Servlet规范、Web相关内容专题
14 【方向盘】-Java EE 从Java EE到Jakarta EE,30年弹指一挥间
15 【方向盘】-工具/提效 开发工具、软件工具,目标是提效
16 【方向盘】-Spring技术栈新特性 Spring Framework、Spring Boot、Spring Cloud、Spring其它技术
17 【方向盘】-基本功 每个Javaer,都需要有扎实的基本功
... ... ...
99 源代码库 大多数专栏均配有源代码,都在这里
目录
相关文章
|
9天前
|
存储 运维 安全
Spring运维之boot项目多环境(yaml 多文件 proerties)及分组管理与开发控制
通过以上措施,可以保证Spring Boot项目的配置管理在专业水准上,并且易于维护和管理,符合搜索引擎收录标准。
21 2
|
1月前
|
SQL JSON Java
mybatis使用三:springboot整合mybatis,使用PageHelper 进行分页操作,并整合swagger2。使用正规的开发模式:定义统一的数据返回格式和请求模块
这篇文章介绍了如何在Spring Boot项目中整合MyBatis和PageHelper进行分页操作,并且集成Swagger2来生成API文档,同时定义了统一的数据返回格式和请求模块。
54 1
mybatis使用三:springboot整合mybatis,使用PageHelper 进行分页操作,并整合swagger2。使用正规的开发模式:定义统一的数据返回格式和请求模块
|
1月前
|
监控 Java 应用服务中间件
Spring和Spring Boot的区别
Spring和Spring Boot的主要区别,包括项目配置、开发模式、项目依赖、内嵌服务器和监控管理等方面,强调Spring Boot基于Spring框架,通过约定优于配置、自动配置和快速启动器等特性,简化了Spring应用的开发和部署过程。
52 19
|
1月前
|
Java 测试技术 开发者
springboot学习四:Spring Boot profile多环境配置、devtools热部署
这篇文章主要介绍了如何在Spring Boot中进行多环境配置以及如何整合DevTools实现热部署,以提高开发效率。
62 2
|
1月前
|
前端开发 Java 程序员
springboot 学习十五:Spring Boot 优雅的集成Swagger2、Knife4j
这篇文章是关于如何在Spring Boot项目中集成Swagger2和Knife4j来生成和美化API接口文档的详细教程。
103 1
|
1月前
|
Java API Spring
springboot学习七:Spring Boot2.x 拦截器基础入门&实战项目场景实现
这篇文章是关于Spring Boot 2.x中拦截器的入门教程和实战项目场景实现的详细指南。
26 0
springboot学习七:Spring Boot2.x 拦截器基础入门&实战项目场景实现
|
1月前
|
Java API Spring
springboot学习六:Spring Boot2.x 过滤器基础入门&实战项目场景实现
这篇文章是关于Spring Boot 2.x中过滤器的基础知识和实战项目应用的教程。
26 0
springboot学习六:Spring Boot2.x 过滤器基础入门&实战项目场景实现
|
1月前
|
Java Maven Spring
springboot学习一:idea社区版本创建springboot项目的三种方式(第三种为主)
这篇文章介绍了在IntelliJ IDEA社区版中创建Spring Boot项目的三种方法,特别强调了第三种方法的详细步骤。
344 0
springboot学习一:idea社区版本创建springboot项目的三种方式(第三种为主)
|
1月前
|
XML Java 应用服务中间件
【Spring】运行Spring Boot项目,请求响应流程分析以及404和500报错
【Spring】运行Spring Boot项目,请求响应流程分析以及404和500报错
180 2
|
1月前
|
前端开发 安全 Java
【Spring】Spring Boot项目创建和目录介绍
【Spring】Spring Boot项目创建和目录介绍
84 2
下一篇
无影云桌面