跳到主要内容

SpingBoot原理

在前面十多天的课程当中,我们学习的都是web开发的技术使用,都是面向应用层面的,我们学会了怎么样去用。而我们今天所要学习的是web后端开发的最后一个篇章springboot原理篇,主要偏向于底层原理。

我们今天的课程安排包括这么三个部分:

  1. 配置优先级:Springboot项目当中属性配置的常见方式以及配置的优先级
  2. Bean的管理
  3. 剖析Springboot的底层原理

1. 配置优先级

在我们前面的课程当中,我们已经讲解了SpringBoot项目当中支持的三类配置文件:

  • application.properties
  • application.yml
  • application.yaml

在SpringBoot项目当中,我们要想配置一个属性,可以通过这三种方式当中的任意一种来配置都可以,那么如果项目中同时存在这三种配置文件,且都配置了同一个属性,如:Tomcat端口号,到底哪一份配置文件生效呢?

  • application.properties
server.port=8081
  • application.yml
server:
port: 8082
  • application.yaml
server:
port: 8082

我们启动SpringBoot程序,测试下三个配置文件中哪个Tomcat端口号生效:

  • properties、yaml、yml三种配置文件同时存在

image-20230113144757856

> properties、yaml、yml三种配置文件,优先级最高的是properties

  • yaml、yml两种配置文件同时存在

image-20230113145158771