一、简介
- Spring Boot是由Pivotal团队提供的全新框架,其设计目的是用来简化新Spring应用的初始搭建以及开发过程
- 特点:约定大于配置
二、快速创建Springboot web应用
三、自动配置原理
3.1 pom依赖
- pom.xml文件的父依赖中有Springboot的所有依赖包
- 所有我们在导入依赖包时不需要亲自指定包的版本就可以导入包了
3.2 启动器
- 如spring-boot-start-web,他就会帮我们自动导入web环境所有的依赖
- springboot会将所有的功能场景都变成一个个的启动器
四、yaml配置文件
4.1 基本配置
1 | server: |
4.2 属性注入
- 使用yaml完成对对象的属性注入
1 | # 与注解@ConfigurationProperties(prefix = "user")的user对应 |
- 注意需要导入以下依赖,否则报错:
1 | <dependency> |
- pojo类使用注解@ConfigurationProperties绑定配置文件,prefix为配置文件中的根变量名
1 |
|
4.3 JSR303数据校验
数据校验是yaml配置文件才有的,这也是它比properties强大的地方
在对应类上加上注解@Validated,即可以对类中属性添加数据校验对应的注解,如果不满足数据校验的格式就会直接报错,包括以下几个:
注解 | 作用 |
---|---|
@Null | 限制对象只能为null |
@NotNull | 限制对象必须不为null |
@AssertTrue | 限制Boolean必须为true |
@AssertFalse | 限制Boolean必须为false |
@Min(value) | 验证Number和String对象是否大于等于指定的值 |
@Max(value) | 验证Number和String对象是否小于等于指定的值 |
@DecimalMin(value) | 验证Number和String对象是否大于等于指定的值,小数存在精度 |
@DecimalMax(value) | 验证Number和String对象是否小于等于指定的值,小数存在精度 |
@Size(max,min) | 验证对象(Array,Collection,Map,String)长度是否在给定的范围之内 |
@Digits | 验证Number和String的构成是否合法 |
@Past | 验证Date和Calendar对象是否在当前时间之前 |
@Future | 验证Date和Calendar对象是否在当前时间之后 |
@Pattern(value) | 限制String必须符合指定的正则表达式 |
@NotEmpty | 验证注解的元素值不为null且不为空(字符串长度不为0、集合大小不为0) |
@NotBlank | 验证注解的元素值不为空(不为null、去除首位空格后长度为0),不同于@NotEmpty,只应用于字符串且在比较时会去除字符串的空格 |
验证注解的元素值是Email,也可以通过正则表达式和flag指定自定义的email格式 |
五、Web开发
5.1 静态资源分析
- 静态资源一般保存在以下几个路径,优先级resources>public>static
- webjars
- resources/public
- resources/resources
- resources/static
- /**
- 以上的资源文件都可以通过“localhost:8080/文件名”访问到文件内容
5.2 Thymeleaf入门
- 表达式:
- ${expression}:取出后端传递的值
- @{link url}:引用外部链接时,需把链接放到@{}中
5.3 拦截器
5.3.1 创建拦截器配置类
1 | public class LoginInterceptor implements HandlerInterceptor { |
5.3.2 注入拦截器
1 | public class WebConfig implements WebMvcConfigurer { |
六、连接数据库
6.1 yaml配置
1 | spring: |
6.2、整合Mybatis
6.2.1 导入依赖包
- 导入Mybatis Spring Boot Start依赖包
1 | <!-- https://mvnrepository.com/artifact/org.mybatis.spring.boot/mybatis-spring-boot-starter --> |
- 版本要求:
6.2.2 环境搭建
- @Mapper注解标注Mapper类
- @Repository标注Dao层
- 创建xxxMapper.xml编写sql
- yaml配置xxxMapper.xml的文件路径:
1 | # Mybatis配置 |