我们都知道,在 Java 开发中 Spring 框架绝对是一个无法忽视的存在,从 2000 开始,Spring 经历了 14 年的进化终于进入到 Spring Boot 和 Spring Cloud 时代,如今过去了 24 年的光景,它紧跟时代潮流,进入了 Spring AI 时代。
不可否认 Spring 当初的那句 Spring makes java simple 确实是超乎想象的做到了。
而对于 Java 语言本身而言,作为一门已经年过 30 的语言,多多少少的已经被新出来的语言新秀,比如 golang,rust 等语言抢了不少的风头。
但是 Java 虽然在新一轮的语言竞争中,占据劣势,Java 仍然快速的迸发出自己新的活力,比如黑科技 GraalVM,Quarkus 等。
Intellj IDEA 的火爆除了自身的优秀,也离不开 Java 世界的流行,其中最亮眼的仔当属 Spring Boot(下文简称 sb)。
我们都知道无论是 IDEA 还是类似 goland 这类开发工具,它都会给我们提供语言中流行技术栈的快速开发支持。行为我们常常与这些流行技术栈打交道嘛。
今天就来看看 IDEA 针对 sb 开发都做了哪些弯道超车的技巧。
第一个,快速创建 sb 项目
如果你要从 0 开始创建一个 sb 应用,可能首先想到的就是用 IDEA 通过Spring Initializr 来实现。
考虑到这是大家的共识,目前 IDEA 已经独立出来一个 sb 的 project wizard,也就是向导。没有多余的操作,直接一键到位就是爽歪歪!
第二个,智能代码补全
作为一个 Spring IDE ,IDEA 会分析项目的上下文,为你提供最适合的补全建议,不管是代码还是配置文件,还是 url,多场景的照顾到你的开发喜好。
智能快速修复
不得不感叹 IDEA 居然比我懂 Spring 太多了!!!
你也许自认为对 Spring 已经非常熟悉了,但是在 IDEA 的辅助下,能够帮你写出无懈可击的代码,而且更快。因为 IDEA 内置了数十种基于 sb 的检查,这些检查包含了很广泛的问题,比如自动注入错误,环境配置错误等等。
如果你细心的看这些辅助,你也能学到很多关于 sb 那些隐秘的角落。从而增加你对 sb 的认知自信。
同时 IDEA 还做了很多可信赖的重构,比如修改一处名字,IDEA 会分析这个重构导致的关联性修改,让你不再担心多改,漏改。
第三个,实时的代码导航
以前的 IDEA 我们要去到一些关联性很强的其他文件,一般还是会通过 2 次 shift 搜索,然后输入文本。
现在的 IDEA 做了大量的关联性分析,比如自动注入 bean 的定义位置,发布订阅模式中的发布者和订阅者之间的跳转。
还有下面的针对单元测试的跳转
还包含 url 相关的从客户端到服务之间的导航,比如 spring mvc,远程调用 spring feign,spring webflux。
这里也顺便提一句,在 search everywhere 又增加了 endpoint 的搜索,可以直接搜索 url 的内容。
第五个,可视化
spring bean 之间的依赖关系在没有可视化功能之前,只存在于我们模糊的印象中,但是有时候遇到一些棘手的问题,仅仅靠我们模糊的记忆可能也不是很靠谱。
于是 IDEA 针对 spring bean 的依赖关系图就来了。
还增加了端点的可视化
IDEA 已经帮我们把项目里面所有的端点收集到一起了。
最后
好的工具不仅可以加速我们处理问题的速度,还可以增加我们对相关工具的深刻认识。