目录
一.基础入门
1.Spring Boot 是什么?
2.SpringBoot 快速入门
2.1完成步骤
2.2快速入门小结
3.Spring SpringMVC SpringBoot 的关系
3.1梳理关系
3.2如何理解 -约定优于配置
二.依赖管理和自动配置
1.依赖管理
1.1 什么是依赖管理
1.2 修改自动仲裁/默认版本号
2.starter 场景启动器
2.1 starter 场景启动器基本介绍
2.2 官方提供的 starter
2.3第三方 starter
3.自动配置
1.自动配置基本介绍
2.SpringBoot 自动配置了哪些?
3. 如何修改默认配置
4.SpringBoot 在哪配置读取 application.properites
5.自动配置 遵守按需加载原则
一.基础入门
1.Spring Boot 是什么?
2.SpringBoot 快速入门
2.1完成步骤
2.pom.xml 引入 SpringBoot 父工程和 web 项目场景启动器
<!-- 导入 springboot 父工程,规定的写法 -->
<parent>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-parent</artifactId>
<version>2.5.3</version>
</parent>
<!-- 导入 web 项目场景启动器,会自动导入和 web 开发相关依赖,非常方便 -->
<dependencies>
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-web</artifactId>
</dependency>
</dependencies>
3.MainApp.java SpringBoot 应用主程序
/**
* Created with IntelliJ IDEA.
*
* @Author: 海绵hong
* @Date: 2022/11/15/10:20
* @Description:
* @SpringBootApplication:表示这是一个springboot的应用/项目
*/
@SpringBootApplication
public class MainApp {
public static void main(String[] args) {
//启动springboot应用程序/项目
SpringApplication.run(MainApp.class,args);
}
}
4.HelloController.java 控制器
@Controller
public class HelloController {
// 写一个方法,返回hellospring boot
@RequestMapping("/hello")
@ResponseBody
public String hello(){
return "hello,SpringBoot";
}
}
2.2快速入门小结
3. 引入一个 spring-boot-starter-web, 到底发生了什么? 一图胜千言
3.Spring SpringMVC SpringBoot 的关系
3.1梳理关系
3.2如何理解 -约定优于配置
二.依赖管理和自动配置
1.依赖管理
1.1 什么是依赖管理

1.2 修改自动仲裁/默认版本号
<!--这里我们可以指定mysql.version-->
<properties>
<mysql.version>5.1.49</mysql.version>
</properties>
<!--导入web项目场景启动器: 会自动导入和web开发相关的所有依赖[库/jar]
后面还会说spring-boot-starter-web 到底引入哪些相关依赖
-->
<dependencies>
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-web</artifactId>
</dependency>
<!--我们自己指定mysql/驱动版本- 修改版本仲裁
1. 方式1:显示的导入mysql依赖, 并明确的指定<version>
2. 方式2.在自己的pom.xml文件中, 在<properties> 中指定mysql的key
形如:
<properties>
<mysql.version>5.1.49</mysql.version>
</properties>
3. 为什么可以达到修改版本仲裁: 根据依赖就近优先原则.
-->
<dependency>
<groupId>mysql</groupId>
<artifactId>mysql-connector-java</artifactId>
<!--<version>5.1.49</version>-->
</dependency>
2.starter 场景启动器
2.1 starter 场景启动器基本介绍
2.2 官方提供的 starter
2.3第三方 starter
3.自动配置
1.自动配置基本介绍
2.SpringBoot 自动配置了哪些?
1. 自动配置 Tomcat
2. 自动配置 SpringMVC
3. 自动配置 Web 常用功能: 比如字符过滤器
3. 如何修改默认配置
3.2resources\application.properties 配置大全
#默认 server.port=8080
server.port=10000
#比如: 默认 spring.servlet.multipart.max-file-size=1MB
#该属性可以指定 springboot 上传文件大小的限制
#默认配置最终都是映射到某个类上,比如这里配置会映射到 MultipartProperties
#把光标放在该属性,ctrl+b 就可以定位该配置映射到的类
spring.servlet.multipart.max-file-size=10MB
配置信息都会体现到配置属性类(bean)
3.3resources\application.properties 常用配置
● 常用配置一览
# 端口号server.port=10000# 应用的上下文路径 ( 项目路径 )server.servlet.context-path=/allModel# 指定 POJO 扫描包来让 mybatis 自动扫描到自定义的 POJOmybatis.type-aliases-package=com.cxs.allmodel.model# 指定 mapper.xml 的路径#(application 上配置了 @MapperScan( 扫面 mapper 类的路径 ) 和 pom.xml 中放行了 mapper.xml 后,# 配 置 mapper-locations 没 有 意 义 。 如 果 mapper 类 和 mapper.xml 不 在 同 一 个 路 径 下 时 ,mapper-locations 就有用了 )mybatis.mapper-locations=classpath:com/cxs/allmodel/mapper#session 失效时间 ( 单位 s)spring.session.timeout=18000# 数据库连接配置#mysql 数据库 urlmysql.one.jdbc-url=jdbc:mysql://127.0.0.1:3306/test?serverTimezone=Asia/Shanghai&useSSL=false#mysql 数据库用户名mysql.one.username=# 数据库密码mysql.one.password=# 线程池允许的最大连接数mysql.one.maximum-pool-size=15# 日志打印 : 日志级别 trace<debug<info<warn<error<fatal 默认级别为 info ,即默认打印 info 及其以上级别的日志#logging.level 设置日志级别,后面跟生效的区域,比如 root 表示整个项目,也可以设置为某个包下,也可以具体到某个类名(日志级别的值不区分大小写)logging.level.com.cxs.allmodel.=debuglogging.level.com.cxs.allmodel.mapper=debuglogging.level.org.springframework.web=infologging.level.org.springframework.transaction=infologging.level.org.apache.ibatis=infologging.level.org.mybatis=infologging.level.com.github.pagehelper = infologging.level.root=info# 日志输出路径logging.file=/tmp/api/allmodel.log# 配置 pagehelper 分页插件pagehelper.helperDialect=mysqlpagehelper.reasonable=truepagehelper.supportMethodsArguments=truepagehelper.params=count=countSql#jackson 时间格式化spring.jackson.serialization.fail-on-empty-beans=false# 指定日期格式,比如 yyyy-MM-dd HH:mm:ss ,或者具体的格式化类的全限定名spring.jackson.date-format=yyyy-MM-dd HH:mm:ss# 指定日期格式化时区,比如 America/Los_Angeles 或者 GMT+10spring.jackson.time-zone=GMT+8# 设置统一字符集spring.http.encoding.charset=utf8#redis 连接配置# redis 所在主机 ip 地址spring.redis.host=#redis 服务器密码spring.redis.password=#redis 服务器端口号spring.redis.port=#redis 数据库的索引编号 (0 到 15)spring.redis.database=14## 连接池的最大活动连接数量,使用负值无限制#spring.redis.pool.max-active=8### 连接池的最大空闲连接数量,使用负值表示无限数量的空闲连接#spring.redis.pool.max-idle=8### 连接池最大阻塞等待时间,使用负值表示没有限制#spring.redis.pool.max-wait=-1ms### 最小空闲连接数量,使用正值才有效果#spring.redis.pool.min-idle=0### 是否启用 SSL 连接 .##spring.redis.ssl=false### 连接超时,毫秒为单位#spring.redis.timeout= 18000ms### 集群模式下,集群最大转发的数量#spring.redis.cluster.max-redirects=### 集群模式下,逗号分隔的键值对(主机:端口)形式的服务器列表#spring.redis.cluster.nodes=### 哨兵模式下, Redis 主服务器地址#spring.redis.sentinel.master=### 哨兵模式下,逗号分隔的键值对(主机:端口)形式的服务器列表#spring.redis.sentinel.nodes= 127.0.0.1:5050,127.0.0.1:5060
3.3resources\application.properties 自定义配置
● 还可以在 properties 文件中自定义配置,通过@Value("${}")获取对应属性值
application.properties 文件my.website=https://www.baidu.com// 某个 Bean@Value("${my.website}")private String website;
4.SpringBoot 在哪配置读取 application.properites
5.自动配置 遵守按需加载原则
2. SpringBoot 所 有 的 自 动 配 置 功 能 都 在 spring-boot-autoconfigure 包 里 面
