2

最近这段时间一直在学习 Java ,对于 Spring 全家桶自然是需要掌握的,这是近几天学习 Spring Boot 高效开发的一个小的阶段性总结。

本系列文章旨在教会 Spring Boot 新手如何快速搭建好可用的一个项目,涵盖基本的接口开发所需功能,不会过多深入,但能让你快速上手。

创建项目

第一步:选择 Spring Initializr 快速初始化 Spring Boot 项目。

image.png

第二步:填写项目信息,注意选择 Maven 以及 Java 14。

image.png

第三步:选择 Spring 依赖,暂时勾选如下图中右侧的那几个。

image.png

第四步:填写项目本地地址以及目录名称,默认即可。

image.png

全局配置

默认 Spring Boot 是采用 application.properties 文件作为配置文件,个人喜欢用 yaml 格式,因为层次更清晰,所以可以将 src/main/resources/application.properties 文件名改为 src/main/resources/application.yml

一般我们会有开发和测试以及正式这三个项目环境,而且每个环境的配置会有所不同,比如数据库的账号密码端口号等等,所以我们需要通过 Spring 的 spring.profiles.active 这个配置项来指定当前使用哪一个配置文件:

# 文件地址:src/main/resources/application.yml
spring:
  profiles:
    active: dev

然后在同级目录下创建 application-dev.yml,这个 -dev 对应配置项里 active 的值。

如果配置随环境不同而不同的话,就在各自环境的配置文件中配置,如果都相同,那么就直接在 application.yml 配置即可,因为最终都会合并到这个 application.yml 配置文件中,合并原则是如果一个配置项同时存在,则环境配置文件中的配置项会覆盖掉主配置文件中的,如果只存在于某个配置文件中,则都会合并到主配置文件里。

自动重启还是重新加载

编译型编程语言开发效率相对较低的原因之一就是每次改动代码就需要重新编译运行。

所以 Spring Boot 官方推出 spring-boot-devtools 依赖,每次我们改动代码保存的时候,就会自动的帮我们去加载。这个工具通过使用两个类加载器来工作:不变的类(例如,来自第三方 jar 的类)将被加载到基本类加载器中, 正在开发的类将被加载到重启类加载器中,重新启动应用程序后,将丢弃重启类加载器,并创建一个新的重启类加载器。这种方法意味着应用程序的重启通常比“冷启动”要快得多,因为基本类加载器已经可用并已填充。

如果你觉得还是很慢,可以考虑 JRebel 插件,它通过特有的重载优化技术,监控你的文件,一旦变化就会重新加载类,速度上确实还要再快一些,但是要收费,而且还有点小贵,如果公司没有这块预算支持,没太大必要买,用上面的这个也够了。

我们这里是纯接口开发,所以可以把这个 devtools 自带的 LiveReload Server 给禁用:

devtools:
  livereload:
    enabled: false

在 IDEA 里面要使这个重新加载生效,还得去开启两个配置:

image.png

image.png

参考资料

Spring Developer tools


封不羁
1.1k 声望82 粉丝