项目依赖一致性

由于Spring/Spring Cloud涉及的组件太多, 各个组件之间的依赖关系比较复杂, 因此为了保证项目的一致性, 需要通过引入合适的parent文件来规定各个组件的版本.

手写pom文件比较复杂, 任何时候都不建议手写这些配置文件. 应该使用SpringBoot官网上的Spring Initializr来获得初始项目的结构和pom文件. 如果使用IDEA, 也可以在创建的时候使用Spring Initializr工具创建项目.

官方帮助我们解决版本问题, 不用白不用啊!

如果是父子项目结构, 由于子项目继承父项目, 因此上述配置都应该写在父项目中(由于只是声明, 因此不会造成额外的空间占用)

热重启

为了提高Spring项目的开发速度,可以引入热重启功能。启用此功能需要导入spring-boot-devtools依赖。

1
2
3
4
5
6
7
<dependencies>
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-devtools</artifactId>
<optional>true</optional>
</dependency>
</dependencies>

optional指定为true可以避免此依赖被传递依赖到其他地方

spring-boot-devtools内部使用了两个不同的类加载器,对于第三方的依赖,采用BaseClassLoader,对于自己的代码采用RestartClassLoader。当自己的代码发生变更的时候,则创建一个新的RestartClassLoader并加载新的类文件。由于第三方库不需要再进行加载,因此重启速度有了很大的提高。

spring-boot-devtools会自动监控类路径上的class文件变化,因此只要对项目重新编译,就会触发spring-boot-devtools的重新启动操作。为了使代码修改后能够重新编译,需要对IDEA进行配置,具体可以参考这篇博客IDEA官方文档

日志配置

在Spring中, 默认使用了SLF4J(Simple logging facade for Java)日志接口. 因此只要提供了相应的实现, 就可以获得更过关于Spring的日志输出. 而在Spring Boot中,则通过间接依赖spring-boot-starter-logging导入了Logback模块,因此不需要进行任何配置就可以实现默认的日志功能。

默认配置已经可以满足大部分需求,如果需要进行配置,可以参考下面的几篇文章

最后更新: 2022年10月30日 09:33

版权声明:本文为原创文章,转载请注明出处

原始链接: https://lizec.top/2021/09/01/Spring%E7%AC%94%E8%AE%B0%E4%B9%8B%E9%80%9A%E7%94%A8%E9%85%8D%E7%BD%AE/