配置文件加载位置
springboot启动会扫描以下位置的application.properties或者application.yml文件作为SpringBoot的默认文件
- file:./config/
- file:./
- classpath:/config/
- classpath:/
以上顺序是按照优先级从低到高的顺序,所有位置的文件都会被加载,高优先级配置内容会覆盖低优先级配置内容
我们也可以通过配置spring.config.location来改变默认配置项目打包好之后,可以通过命令行的形式,启动项目的时候来指定配置文件的新位置,指定配置文件和默认加载的这些配置文件共同起作用形成互补
Spring-boot外部配置加载顺序
优先加载带profile
jar包外部的application-{profileName}.properties或application.yml(带spring.profile)配置文件
jar包内部的application-{profileName}.properties或application.yml(带spring.profile)配置文件
再加载不带profile的
自动配置报告
debug=true查看详细的自动配置报告
日志
日志框架:JUL JCL Jboss-logging logBack log4j log4j2 Slf4j...
日志门面 | 日志实现 |
---|---|
JCL SLF4j jboss-logging | log4j JUL Log4j2 LogBack |
选用的是:
: 日志门面:SLF4j
: 日志实现:Logback
: springBoot框架底层是spring,使用的日志框架是JCL
: springboot选用SLF4j+Logback;
SLF4j的使用
: 1、如何在系统中使用SLF4j日志框架(抽象层)
: 在开发的时候,日志记录方法的调用,应该先调用抽象层,然后由抽象层里面的方法调用日志的实现类;
给项目里面导入SLF4j和logback的jar包
每一个日志框架都用自己的配置文件,使用SLF4j之后,配置文件还是做成日志实现框架本身的配置文件
2.遗留问题
(SLF4+logback):spring(JCL)、hibernate(jboss-logging)、mybatis...
: 统一日志框架,即使使用的是别的框架也要统一成
如何让项目中的所有日志框架统一
: 1、将项目中的其他框架的日志框架先排除
2、用中间包代替原来的日志框架
3、导入SLF4j的其他实现
springboot的日志关系
最基本的依赖
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter</artifactId>
<version>2.1.2.RELEASE</version>
<scope>compile</scope>
</dependency>
image
总结:
: 1、Spring Boot底层使用的也是SLF4j+logBack的实现日志记录
2、spring boot在底层把其他jar包转换成了SLF4j
3、中间替换包
网友评论