Spring Boot 配置类
Spring boot 是分区块的,每一个包做不同的事情,与mvc不同,spring boot 更适入手,但是后面看源码就有点困难涉及到spring 和spring mvc
1. 常用yml
不同的开发者环境用—来区分开发者环境
用 spring profiles:
active:
环境
====================================================
1. 自动配置的原理 (application.yml ,application.properties)
- 配置可以拥有多个,一般都是按照优先级由高到低的顺序,高优先级会覆盖低优先级相同的配置内容,但若高优先级没有低优先级的内容就会,互补
- 同时 我们也可以通过配置
spring.config.location
来改变默认配置(作用:以后,当文件打包好了,若还想改代码的结构就可以直接在后面输入--spring.config.location
)
- SpringBoot 启动就会加载大量的自动配置类(
xxxAutoConfiguration
) - 首先需要看到我们需要的功能有没有Spring Boot自动写好的配置类;
- 如果有,我们再来看看这个自动配置类生成了那些组件,(只要我们需要的配置有,我们就不用再配)
- 那配置文件(yml,propertis有什么作用呢?)给容器添加组件的时候,会从properties中获取某些属性,也就是将配置文件相关联,使你在配置文件中配置了就可以生效的原理。(最主要的是
@EnableConfigurationProperties()
这个注解主要是与properties配置文件相关连)
2.解释为什么有安装了自动配置类,却有些不生效?
是因为@Conditional这个注解,这个注解是 需要你满足什么配置才能进行自动配置,
我们可以在配置类中使用 debug =true 这样就可以哪些自动配置类启用了
2.日志
1,spring 框架选择默认是JCL框架 Spring Boot选用的是SLF4J和logback;
进行日志记录
问题1:如果说你要开发大型项目,需要用到spring springboot mybatis 等 他们底层不一定是SLF4J 该怎么转换呢?
spring boot把其他的日志都替换成了slf4j 这样虽然是表面上是阿帕奇公司的东西,但是底层却是slf4j的日志,这样可以实现兼容性 ,如果我们要引入其他的框架
我们一定要吧这个框架的默认日志依赖给移除掉不然jar’包就会冲突。
那如何移除相关依赖呢?用到
<exclusion>//移除指定的依赖
</exclusion>
当你移除掉之后,SpringBoot 自动帮你把他配置好,不用你继续操作。
Spring Boot 自动默认 infor 之后的路径
问题2这个有什么作用呢,我还不如就用System.out.println();
好处:
- 在以后若项目上线了之后,你不能直接通过输出语句来观察到哪个项目有问题 ,但有了日志就不同了, 他可以很直观 的生成日志报告
`
好处:
- 在以后若项目上线了之后,你不能直接通过输出语句来观察到哪个项目有问题 ,但有了日志就不同了, 他可以很直观 的生成日志报告
- 在配置文件中输如
logging.path
可以在指定地方生成日志文件,如果不指定路径,那么就会在当前页面下生成路径 ,