IDEA 2024.1:Spring支持增强、GitHub Action支持增强、更新HTTP Client等
有段时间没有更新IDEA了,早上看到 IntelliJ IDEA 2024.1 EAP 5发布的邮件提示,瞄了一眼,发现真的是越来越强了,其中不少功能对我来说还是非常有用的。也许这些能力对关注DD的小伙伴也有帮助,所以搞篇博客介绍和推荐一下。
Spring、Quarkus等主流框架的支持增强
- Search Everywhere功能中增加
Endpoints选项卡
具体如下图所示:

开发者可以在这里直接搜索通过Spring、Quarkus、Micronaut、Ktor实现的接口来找到具体的代码实现位置。这个功能非常实用,尤其是对于接手老项目的开发者来说,可以快速的定位接口实现来完成开发任务或问题排查。
- 增强Spring Bean的自动补全和自动装配
IntelliJ IDEA 现在为应用程序上下文中的所有 Bean 提供自动补全功能,并自动连接它们。
如果 bean 通过构造函数具有自动装配依赖项,则相关字段也会通过构造函数自动装配。
同样,如果通过字段或 Lombok 的 @RequiredArgsConstructor 注释注入依赖项,则新 bean 会自动通过字段连接。

- 增强 Spring 模型图
在该版本中用户访问Spring模型图变得更加容易,可以如下图这样点击Spring标识的行标记直接跳转:

也可以使用快捷键 ⌥⏎ (MacOS) 或 Alt+Enter(Windows)来生成和跳转。
同时,该版本还引入了新的图标,增强了 Spring 模型图的可视化内容,如:Components、Controllers、Repositories。此外,您现在可以方便地切换库中 Bean 的可见性(默认情况下是隐藏的)。

HTTP Client的改进
HTTP Client现在提供更多身份验证选项,包括 PKCE 授权代码和设备授予流程。它还支持令牌和身份验证请求的额外参数。

现在它可以自动处理 code_challenge 和 passes code_verifier 的生成,以便在 PKCE 请求中检索令牌。

这个版本的HTTP Client 可以使用 Netty 作为其低级网络库。通过支持 SSL、代理和 HTTP/2,使我们能够在 HTTP 客户端中实现 HTTP/2 的支持。

此外,HTTP Client的工具栏外观,也与新的 UI 风格保持一致,提供更加美观的用户体验。

GitHub Action的支持增强
- Workflow 上下文的支持
现在可以为各种 GitHub Action上下文引入了广泛的自动完成支持,包括github.*、env.*、steps.*和inputs.*。

这个优化非常有用,可以有效的降低编写复杂工作流脚本的过程,开发人员不用再去频繁的搜索上下文中涉及的参数了。
该优化在YAML文件配置中也同样有效:

在YAML文件中,开发者还可以使用 branding 功能使用特定图标和颜色指示器自定义 GitHub 上操作的外观。
此功能使操作创建者能够在 GitHub Marketplace 和工作流程中直观地区分他们的操作,使它们更易于识别和用户友好。通过在 action.yml 文件中指定图标和颜色,开发人员可以一目了然地传达其操作的目的,从而增强整体用户体验。这种可视化定制有助于对操作进行分类,并帮助用户快速识别 CI/CD 管道所需的工具。

- Docker 镜像自动补全
此增强功能在 GitHub 工作流程文件中提供image和tag建议,从而更轻松地将 Docker 容器集成到您的操作中。

- JavaScript 文件路径补全
文件路径完成功能会自动建议文件路径,从而简化 JavaScript 操作的配置并简化工作流程执行。

其他更新
优化JSON schema的处理: 优化了 JSON 模式验证和完成背后的代码。因此,IDE 现在可以更快地处理此任务并减少内存消耗。在使用 Azure Pipelines 的现实文件中,架构检查现在速度提高了 10 倍。
现在可以在所有常见场景中轻松完成 HTTP Header,例如使用 Spring WebClient 和 RestAssured 测试。当遇到预期值时,会自动出现完成弹出窗口。

另外,DD最近把博客重新增加了板块,正在维护几个有意思的长期连载专栏,其中一个就是《玩转IDEA》,这次换了工具,直接采用电子文档的形式,阅读体验更好,对这些内容感兴趣的,可以关注起来!
欢迎关注我的公众号:程序猿DD。第一时间了解前沿行业消息、分享深度技术干货、获取优质学习资源
IDEA 2024.1:Spring支持增强、GitHub Action支持增强、更新HTTP Client等的更多相关文章
- Spring支持5种类型的增强
Spring支持5种类型的增强:1.前置增强:org.springframework.aop.BeforeAdvice代表前置增强,因为Spring只支持方法级的增强,所以MethodBeforeAd ...
- 使用CI/CD工具Github Action发布jar到Maven中央仓库
之前发布开源项目Payment Spring Boot到Maven中央仓库我都是手动执行mvn deploy,在CI/CD大行其道的今天使用这种方式有点"原始".于是我一直在寻求一 ...
- Spring学习之Aop的各种增强方法
AspectJ允许使用注解用于定义切面.切入点和增强处理,而Spring框架则可以识别并根据这些注解来生成AOP代理.Spring只是使用了和AspectJ 5一样的注解,但并没有使用AspectJ的 ...
- Spring 对事务管理的支持
1.Spring对事务管理的支持 Spring为事务管理提供了一致的编程模板,在高层次建立了统一的事务抽象.也就是说,不管选择Spring JDBC.Hibernate .JPA 还是iBatis,S ...
- Unit06: Spring对JDBC的 整合支持 、 Spring+JDBC Template、Spring异常处理
Unit06: Spring对JDBC的 整合支持 . Spring+JDBC Template .Spring异常处理 1. springmvc提供的异常处理机制 我们可以将异常抛给spring框架 ...
- 谈一谈Tomcat中webSocket,Jetty WebSocket 和Spring WebSocket以及github中Java-WebSocket.jar分别对Socket协议的角色定位以及效果的不同点;
开局先上一张图:(http://tomcat.apache.org/tomcat-7.0-doc/web-socket-howto.html) 当前截图来自于apache的tomcat官网(问:为 ...
- 跟我学SpringCloud | 第六篇:Spring Cloud Config Github配置中心
SpringCloud系列教程 | 第六篇:Spring Cloud Config Github配置中心 Springboot: 2.1.6.RELEASE SpringCloud: Greenwic ...
- 编写自己的 GitHub Action,体验自动化部署
本文将介绍如何使用 GitHub Actions 部署前端静态页面,以及如何自己创建一个 Docker 容器 Action. 简介 Actions GitHub Actions 是 GitHub 官方 ...
- 用 GitHub Action 构建一套 CI/CD 系统
缘起 Nebula Graph 最早的自动化测试是使用搭建在 Azure 上的 Jenkins,配合着 GitHub 的 Webhook 实现的,在用户提交 Pull Request 时,加个 r ...
- Spring 对Apache Kafka的支持与集成
1. 引言 Apache Kafka 是一个分布式的.容错的流处理系统.在本文中,我们将介绍Spring对Apache Kafka的支持,以及原生Kafka Java客户端Api 所提供的抽象级别. ...
随机推荐
- 如何使用VNC进行远程桌面控制
VNC是一款很实用的可以实现远程桌面控制的小工具,我遇到的有两种情况比较常见,一是有时候时候可能你会外出或离开自己办公室(但可以访问到办公司的网络),而很多资料都保存在办公室的台式机上,这时如果突然有 ...
- 玩转 Helm
0. 前言 在 kubernetes 的系列文章中,我们介绍了 kubernetes 的种种概念,特性.不过对于如何部署并没有介绍,想象下如果 kubernetes 中 pod 的数量达到成百,上千, ...
- Linux系统CPU异常占用(minerd 、tplink等挖矿进程)
转载请注明出处: 云服务器ECS(Linux) CPU使用率超过70%,严重时可达到100%,服务器响应越来越慢. 服务器中存在恶意minerd.tplink进程 该进程是服务器被入侵后,被恶意安装 ...
- Nacos源码 (2) 核心模块
整体架构 服务管理:实现服务CRUD,域名CRUD,服务健康状态检查,服务权重管理等功能 配置管理:实现配置管CRUD,版本管理,灰度管理,监听管理,推送轨迹,聚合数据等功能 元数据管理:提供元数据C ...
- Go-并发-Go程和信道
- Grub2 内核启动参数总结
Grub2 内核启动参数总结 部分参数 biosdevname=0 net.ifnames=0 # 注意这个配置会修改网卡的名字, 比如之前是ens192 # 添加如上两个内容后就会变成 eth0 类 ...
- [转帖]TiDB的使用限制
https://docs.pingcap.com/zh/tidb/stable/tidb-limitations 本文会将详细描述 TiDB 中常见的使用限制,包括:标识符长度,最大支持的数据库.表. ...
- [转帖]比较不同CPU下的分支预测
https://plantegg.github.io/2023/04/16/%E6%AF%94%E8%BE%83%E4%B8%8D%E5%90%8CCPU%E4%B8%8B%E7%9A%84%E5%8 ...
- [转帖]一次操作系统报错OutOfMemory Error的处理记录
在启动公司内嵌的tomcat容器时出现报错, 如下: # There is insufficient memory for the Java Runtime Environment to contin ...
- [转帖]Oracle 通过 Exadata 云基础设施 X9M 提供卓越的数据库性能和规模
https://www.modb.pro/db/397202 32个节点的RAC 服务器 每个服务器 两个 64核心的AMD CPU 四个线程干管理 252个线程进行数据库处理 252*32=8064 ...