06_SpringBoot之pom、自动配置、源码分析、条件注解

  • 知识点
    • start pom
    • Xml 配置文件
    • 日志
    • 自动配置的原理
    • 源码分析
    • 举例:Redis的自动配置
    • 条件注解

Starter pom


06_SpringBoot之pom、自动配置、源码分析、条件注解_第1张图片

06_SpringBoot之pom、自动配置、源码分析、条件注解_第2张图片

06_SpringBoot之pom、自动配置、源码分析、条件注解_第3张图片

Xml 配置文件

06_SpringBoot之pom、自动配置、源码分析、条件注解_第4张图片

日志

Spring Boot对各种日志框架都做了支持,我们可以通过配置来修改默认的日志的配置:

设置日志级别

logging.level.org.springframework=DEBUG

格式:

logging.level.*= # Log levels severity mapping. For instance `logging.level.org.springframework=DEBUG`

Spring Boot的自动配置的原理

Spring Boot在进行SpringApplication对象实例化时会加载META-INF/spring.factories文件,将该配置文件中的配置载入到Spring容器。
spring-boot-1.5.2.RELEASE.jar

06_SpringBoot之pom、自动配置、源码分析、条件注解_第5张图片

Maven下载源码

通过 dependency:sources 该命令可以下载该项目中所有的依赖的包的源码。

源码分析

org.springframework.boot.SpringApplication

06_SpringBoot之pom、自动配置、源码分析、条件注解_第6张图片

06_SpringBoot之pom、自动配置、源码分析、条件注解_第7张图片

org.springframework.core.io.support.SpringFactoriesLoader
06_SpringBoot之pom、自动配置、源码分析、条件注解_第8张图片

06_SpringBoot之pom、自动配置、源码分析、条件注解_第9张图片

由此可见,读取该配置文件来加载内容。

自动配置的spring.factories

spring-boot-autoconfigure-1.5.2.RELEASE.jar

06_SpringBoot之pom、自动配置、源码分析、条件注解_第10张图片

举例:Redis的自动配置

从上述的配置中可以看出,org.springframework.boot.autoconfigure.data.redis.RedisAutoConfiguration是Redis的自动配置。

06_SpringBoot之pom、自动配置、源码分析、条件注解_第11张图片

06_SpringBoot之pom、自动配置、源码分析、条件注解_第12张图片

条件注解

06_SpringBoot之pom、自动配置、源码分析、条件注解_第13张图片

06_SpringBoot之pom、自动配置、源码分析、条件注解_第14张图片

你可能感兴趣的:(06_SpringBoot之pom、自动配置、源码分析、条件注解)