```xml
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter</artifactId>
</dependency>
```
SpringBoot使用它来做日志功能;
```xml
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-logging</artifactId>
</dependency>
```
底层依赖关系
![](images/搜狗截图20180131220946.png)
总结:
1)、SpringBoot底层也是使用slf4j+logback的方式进行日志记录
2)、SpringBoot也把其他的日志都替换成了slf4j;
3)、中间替换包?
```java
@SuppressWarnings("rawtypes")
public abstract class LogFactory {
static String UNSUPPORTED_OPERATION_IN_JCL_OVER_SLF4J = "http://www.slf4j.org/codes.html#unsupported_operation_in_jcl_over_slf4j";
static LogFactory logFactory = new SLF4JLogFactory();
```
![](images/搜狗截图20180131221411.png)
4)、如果我们要引入其他框架?一定要把这个框架的默认日志依赖移除掉?
Spring框架用的是commons-logging;
```xml
<dependency>
<groupId>org.springframework</groupId>
<artifactId>spring-core</artifactId>
<exclusions>
<exclusion>
<groupId>commons-logging</groupId>
<artifactId>commons-logging</artifactId>
</exclusion>
</exclusions>
</dependency>
```
**==SpringBoot能自动适配所有的日志,而且底层使用slf4j+logback的方式记录日志,引入其他框架的时候,只需要把这个框架依赖的日志框架排除掉即可;==**
- Spring Boot 入门
- Spring Boot 简介
- 微服务
- 环境准备
- MAVEN设置
- IDEA设置
- Spring Boot HelloWorld
- 创建一个maven工程;(jar)
- 导入spring boot相关的依赖
- 编写一个主程序;启动Spring Boot应用
- 编写相关的Controller、Service
- 运行主程序测试
- 简化部署
- Hello World探究
- POM文件
- 父项目
- 启动器
- 主程序类,主入口类
- 使用Spring Initializer
- IDEA使用 Spring Initializer
- STS使用 Spring Starter Project快速创建项目
- 配置文件
- 配置文件
- YAML语法
- 基本语法
- 值的写法
- 普通的值(数字,字符串,布尔)
- 对象、Map(属性和值)(键值对)
- 数组(List、Set)
- 配置文件值注入
- 其他问题
- properties配置文件在idea中默认utf-8可能会乱码
- @Value获取值和@ConfigurationProperties获取值比较
- 配置文件注入值数据校验
- @PropertySource&@ImportResource&@Bean
- 配置文件占位符
- 随机数
- 占位符获取之前配置的值
- Profile
- 多Profile文件
- yml支持多文档块方式
- 激活指定profile
- 配置文件加载位置
- 外部配置加载顺序
- 自动配置原理
- 自动配置原理
- 细节
- @Conditional派生注解(Spring注解版原生的@Conditional作用)
- 日志
- 日志框架
- SLF4j使用
- 如何在系统中使用SLF4j
- 遗留问题
- SpringBoot日志关系
- 日志使用
- 默认配置
- 指定配置
- 切换日志框架
- Web开发
- 简介
- SpringBoot对静态资源的映射规则
- 模板引擎
- 引入thymeleaf
- Thymeleaf使用
- 语法规则
- SpringMVC自动配置
- Spring MVC auto-configuration
- 扩展SpringMVC
- 全面接管SpringMVC
- 如何修改SpringBoot的默认配置
- RestfulCRUD
- 默认访问首页
- 国际化
- 登陆
- 拦截器进行登陆检查
- CRUD-员工列表
- thymeleaf公共页面元素抽取
- CRUD-员工添加
- CRUD-员工修改
- CRUD-员工删除
- 错误处理机制
- SpringBoot默认的错误处理机制
- 如果定制错误响应
- 如何定制错误的页面
- 如何定制错误的json数据
- 将我们的定制数据携带出去
- 配置嵌入式Servlet容器
- 如何定制和修改Servlet容器的相关配置
- 注册Servlet三大组件【Servlet、Filter、Listener】
- 替换为其他嵌入式Servlet容器
- 嵌入式Servlet容器自动配置原理
- 嵌入式Servlet容器启动原理
- 使用外置的Servlet容器
- 步骤
- 原理
- Docker
- 简介
- 核心概念
- 安装Docker
- 安装linux虚拟机
- 在linux虚拟机上安装docker
- Docker常用命令&操作
- 镜像操作
- 容器操作
- 安装MySQL示例
- SpringBoot与数据访问
- JDBC
- 整合Druid数据源
- 整合MyBatis
- 注解版
- 配置文件版
- 整合SpringData JPA
- SpringData简介
- 整合SpringData JPA
- 启动配置原理
- 创建SpringApplication对象
- 运行run方法
- 事件监听机制
- 自定义starter