![](https://img-blog.csdnimg.cn/2021060823193042.png?x-oss-process=image/resize,m_fixed,h_224,w_224)
聪酱带你学Spring Boot
文章平均质量分 73
一个Quick Start式的框架快速入门
王耳总丶
一个奇怪的程序猿
展开
-
整合Swagger
整合Swagger在现在的web开发中,前后端分离的开发模式大行其道,前端负责页面渲染,并发送请求到后端服务器请求数据,后端负责数据访问和处理,然后返回数据给前端在前后端开发的模式中,接口的定义在协同开发中就非常重要,前端开发人员需要清晰地知道后端接口的用途,需要的参数和返回的数据,因此在开发中需要一份接口文档。Swagger是一款流行的Api框架,他可以定义Api接口的参数和返回值,并且支持同步更新和在线调试,解决了这个问题基本使用使用Swagger,需要导入Swagger的starter依赖,本原创 2021-06-25 21:24:15 · 322 阅读 · 1 评论 -
Spring Boot发送邮件
发送邮件在web开发中,发送邮件是一个很常用的功能,Spring Boot也集成了发送邮件的功能基本使用使用Spring Boot的发送邮件功能,需要导入邮件的starter依赖<dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-mail</artifactId></dependency>原创 2021-06-23 22:00:47 · 607 阅读 · 6 评论 -
Spring Boot异步任务
异步任务在业务开发中,有一些业务流程耗时会比较长,这样会使前端发送请求后一直等待响应,但是有一些业务逻辑不需要有很强的及时性,例如发短信,发邮件等等,这些业务逻辑由于要进行网络通信,耗时比较长,却不需要在真正完成业务逻辑之后才响应给前端,对于这种业务场景我们可以使用异步任务机制,将响应立即返回给前端,然后开启异步线程执行慢业务逻辑,这样会大大提升用户体验使用多线程的方式可以实现异步的功能,但是线程的编写比较繁琐,Spring Boot帮我们封装了异步任务的功能,让我们可以简单地实现异步任务首先我们来模原创 2021-06-21 23:26:32 · 341 阅读 · 0 评论 -
整合Shiro
整合ShiroShiro是一款开源的轻量的权限管理框架,他能实现用户的认证和授权功能,也可以实现密码加密功能基本使用使用Shiro,首先需要导入starter依赖<dependency> <groupId>org.apache.shiro</groupId> <artifactId>shiro-spring-boot-web-starter</artifactId> <version>1.7.0</原创 2021-06-20 23:55:02 · 236 阅读 · 1 评论 -
Spring Boot定时任务
定时任务在开发中,我们经常会用到定时任务的功能,例如定时同步数据,定时发送邮件等等,Spring Boot也提供了定时任务的功能基本使用要使用定时任务,首先需要开启项目的定时任务功能,只需要在启动类或者配置类中添加@EnableScheduling注解@EnableScheduling@SpringBootApplicationpublic class SpringDemoApplication { public static void main(String[] args) {原创 2021-06-20 23:51:10 · 158 阅读 · 1 评论 -
JSR303参数校验
JSR303参数校验在进行web开发时,对于前端发送的参数,需要进行合法性验证,虽然前端也会进行验证,但是用户仍然可以使用postman等工具或者手动拼接url等方式绕过验证,因此后端也需要验证要验证参数,可以使用JSR303校验机制,他适用于大多数验证场景基本使用使用JSR303校验,首先需要导入对应的starter<dependency> <groupId>org.springframework.boot</groupId> <artifactId原创 2021-06-20 23:49:25 · 559 阅读 · 1 评论 -
整合Spring Session
整合Spring Session在web开发中,我们会使用Session来存放当前登录用户的信息,不过这么做有许多弊端,比如Session底层是一个存放在本地内存的map集合,这使得在分布式集群环境下无法在集群内的多台机器中共享Session,而且登录的用户一旦多,本地存放Session的方式也会使得内存资源紧张,因此我们可以使用Redis来存放SessionSpring Session是Spring官方提供的一个用于解决分布式Session的框架,他也支持使用Redis来存放Session,而且使用简原创 2021-06-20 23:45:57 · 474 阅读 · 2 评论 -
整合Spring Cache
整合Spring CacheSpring Cache是Spring框架为我们提供的一个缓存抽象层,无论我们使用一个map作为本地缓存,还是EnCache和Redis这种专业的缓存,都可以使用Spring Cache方便地集成,使用起来也很简单,使用注解在业务逻辑方法上标注,即可完成缓存操作,而不用将缓存操作和业务代码耦合在一起基本使用使用Spring Cache,首先需要导入对应的starter依赖<dependency> <groupId>org.springfra原创 2021-06-20 23:43:07 · 244 阅读 · 0 评论 -
整合Redis
整合RedisRedis是一款高性能的非关系性数据库,他基于内存存储数据,并且在底层做了数据结构优化,读写的效率都非常高,在开发中往往作为数据缓存的首选。在使用Spring Boot开发web应用时,可以使用Spring Boot官方提供的starter轻松整合Redis到项目中导入依赖使用Redis,首先需要导入对应的starter<dependency> <groupId>org.springframework.boot</groupId> &原创 2021-06-20 23:41:00 · 152 阅读 · 0 评论 -
单元测试流程控制
单元测试流程控制Spring Boot默认使用JUnit5作为测试框架,而JUnit5提供了丰富的API和注解,方便我们对测试的流程做控制断言断言机制就是在测试方法中编写判断逻辑,如果满足逻辑则测试成功,不满足则测试失败,简单的断言有以下几种:assertEquals:判断两个对象或两个原始类型是否相等assertNotEquals:判断两个对象或两个原始类型是否不相等assertSame:判断两个对象引用是否指向同一个对象assertNotSame:判断两个对象引用是否指向不同的对象as原创 2021-06-20 23:38:08 · 316 阅读 · 1 评论 -
Spring Boot单元测试
单元测试使用Spring Boot进行开发,就会涉及到做单元测试,而Spring Boot帮我们集成了单元测试框架JUnit5,在我们创建完一个Spring Boot项目之后,可以直接使用Spring Boot整合的单元测试功能基本使用使用单元测试功能,需要以下依赖<dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starte原创 2021-06-20 23:34:28 · 226 阅读 · 0 评论 -
Spring Boot打印日志
打印日志Spring Boot默认使用Slf4j日志门面和Logback日志实现,关于日志门面和日志实现的关系,可以使用以下Slf4j官网的这张图表示,日志门面是日志实现的抽象层,我们调用日志的接口时应该调用日志门面的接口但是有时候一些框架的日志不是用slf4j的规范,这时候可以使用桥接jar包去转换,在Spring Boot整合其他框架的时候也是这么实现的,桥接的原理如下图所示输出日志在Spring Boot中打印日志,可以使用Spring Boot默认的Slf4j接口,使用日志工厂类Logg原创 2021-06-20 23:31:35 · 1642 阅读 · 2 评论 -
整合JPA
整合JPA使用Spring Boot框架做开发时,除了选择Mybatis作为ORM框架访问数据库,还可以选择另一款优秀的ORM框架Hibernate来访问数据库。我们可以使用Spring Data提供的JPA规范来使用Hibernate,JPA的底层默认实现就是Hibernate。导入依赖使用Hibernate框架,需要导入spring-boot-starter-data-jpa依赖<dependency> <groupId>org.springframework.b原创 2021-06-14 00:38:02 · 148 阅读 · 0 评论 -
整合Mybatis-Plus
整合Mybatis-PlusMybatis-Plus是在Mybatis框架的基础上再次进行封装,从而增强了Mybatis的功能,他最核心的功能就是自动生成CURD语句,使我们不需要再去编写简单的Sql语句,只需要编写一些复杂的需要定制化的Sql语句,而且他还有很多实用的插件可以使用Mybatis-Plus也提供了Spring Boot的场景启动器,和Spring Boot的整合也很方便引入依赖首先需要引入Mybatis-Plus的启动器依赖<dependency> <gr原创 2021-06-08 23:44:09 · 428 阅读 · 8 评论 -
整合Mybatis
整合MybatisMybatis是一款轻量级的ORM框架,他有灵活方便的特点,可以帮我们实现自定义的Sql语句,并且很方便地编写动态Sql,使用Spring Boot框架进行开发时也可以很轻松地整个Mybatis框架引入依赖使用Mybatis,首先需要引入Mybatis的启动器依赖<dependency> <groupId>org.mybatis.spring.boot</groupId> <artifactId>mybatis-spr原创 2021-06-08 23:41:01 · 284 阅读 · 0 评论 -
整合Druid连接池
整合Druid连接池Spring Boot默认使用Hikari作为数据库连接池,这是一款优秀的高性能连接池但是由于Druid连接池在监控和防火墙方面的突出优势,在开发中往往使用Druid连接池导入Druid连接池使用Druid连接池,首先需要导入Druid官方的启动器<dependency> <groupId>com.alibaba</groupId> <artifactId>druid-spring-boot-starter<原创 2021-06-08 23:39:23 · 216 阅读 · 4 评论 -
整合JDBC
整合JDBC使用Spring Boot简单操作数据库,可以使用JDBC,而Spring Boot对JDBC进行了封装,从而省去了建立连接,创建Statement等繁琐的操作,只需要使用Sping Boot提供的JdbcTemplate即可引入依赖使用JDBC操作数据库,首先需要引入JDBC的启动器依赖<dependency> <groupId>org.springframework.boot</groupId> <artifactId>原创 2021-06-08 23:35:18 · 126 阅读 · 5 评论 -
修改servlet配置
修改servlet配置通过Spring Boot的配置文件,可以方便地修改servlet配置,下面介绍常用的一些配置修改端口号修改端口号,可以使用server.port配置,默认是8080端口启动server: port: 8888配置完之后就会以指定端口启动修改项目路径修改项目路径,可以使用server.servlet.context-path配置,默认是/server: servlet: context-path: /hello配置了项目路径,要访问项目,就需要原创 2021-06-08 23:32:50 · 757 阅读 · 0 评论 -
多配置文件
多配置文件导入配置文件有时候我们需要根据配置文件的分类,将一个配置文件拆分到多个配置文件中,而不是全写在主配置文件application.yml中,这时候可以使用配置文件的导入功能使用导入功能很简单,首先在资源目录下创建一个yaml文件或者properties文件然后在主配置文件中用以下配置就可以将这个配置文件导入spring: config: import: classpath:person.yml配置文件优先级我们可以在Spring Boot项目中的这些地方创建配置文件原创 2021-06-08 23:31:30 · 220 阅读 · 0 评论 -
多环境配置
多环境配置使用多配置文件需要配置多个环境下的配置文件,只需要以application-{profiles}.yml的格式命名配置文件,{profiles}的值既配置文件的环境名称我们创建一个组件,从配置文件中取值,用来测试环境切换@Data@Component@ConfigurationProperties(prefix = "person")public class Person { private String name; private int age;}appl原创 2021-06-08 23:29:19 · 318 阅读 · 0 评论 -
使用YAML
使用YAML我们在使用Spring Boot的时候,可以使用properties配置文件来做配置,但是Spring官方更推荐使用YAML来做配置,他有着更清晰的结构,更简洁的语法,更少的占用空间,非常适合用来做以数据为中心的配置文件YAML 是 “YAML Ain’t Markup Language”(YAML 不是一种标记语言)的递归缩写。在开发的这种语言时,YAML 的意思其实是:“Yet Another Markup Language”(仍是一种标记语言)。YAML语法有以下基本特性:基原创 2021-06-08 23:23:46 · 417 阅读 · 6 评论