目录
一.基础入门
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.自动配置 遵守按需加载原则
2.pom.xml 引入 SpringBoot 父工程和 web 项目场景启动器
org.springframework.boot
spring-boot-starter-parent
2.5.3
org.springframework.boot
spring-boot-starter-web
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";
}
}
3. 引入一个 spring-boot-starter-web, 到底发生了什么? 一图胜千言
5.1.49
org.springframework.boot
spring-boot-starter-web
mysql
mysql-connector-java
1. 自动配置 Tomcat
2. 自动配置 SpringMVC
3. 自动配置 Web 常用功能: 比如字符过滤器
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默认级别为 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;
2. SpringBoot 所 有 的 自 动 配 置 功 能 都 在 spring-boot-autoconfigure 包 里 面