Day31_SpringBoot—后台管理系统(二)

一、总说

SpringBoot的整合servlet整合数据库整合myBatis单元测试等等知识,全部以这个超级案例的方式学习。
所以你可能看到很多和案例无关的东西。

二、Web原生组件注入

web原生组件就是JavaWeb学过的servlet、Filter、Listener。将它们注入SpringBoot的方式有两种:

1.注入servlet

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

2.注入Filter

基于上面的步骤,再注入一个Filter
在这里插入图片描述
在这里插入图片描述

有必要说明一点,拦截css下的所有资源,在servlet中的写法是/css/*,在spring中的写法是/css/**

 * FilterInterceptor 几乎拥有相同的功能
 * 1FilterServlet定义的原生组件。好处,脱离Spring应用也能使用
 * 2InterceptorSpring定义的接口。可以使用Spring的自动装配等功能

3.注入Listener

在这里插入图片描述
在这里插入图片描述

三、整合数据库

1.使用默认的HikariDataSource

1.导入依赖

在这里插入图片描述
在这里插入图片描述

2.配置application.yml

在这里插入图片描述

3.直接写sql语句
你的jdbcTemplate这些都已经帮你配置好了,直接用就行

在这里插入图片描述
也可以在这里插入图片描述

2.自定义整合Druid数据源

Druid是第三方的,所以不会像上面那么简单

1.导入数据源依赖

        <dependency>
            <groupId>com.alibaba</groupId>
            <artifactId>druid</artifactId>
            <version>1.1.17</version>
        </dependency>

2.编写配置类

在这里插入图片描述

3.编写sql语句

在这里插入图片描述
也可以在这里插入图片描述

3.使用starter来整合Druid数据源

1.引入Druid的starter

在这里插入图片描述

2.配置application.yml

在这里插入图片描述

3.编写sql语句

在这里插入图片描述
也可以在这里插入图片描述

4.使用starter来整合Druid数据源(高级版)

1.引入Druid的starter

在这里插入图片描述

2.配置application.yml
官方文档:SpringBoot配置Druid配置项列表详细说明了这些application.yml里面的配置参数

在这里插入图片描述

3.运行

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

四、整合myBatis

用了整合MyBatis后 整合数据库 基本上就用不上了

1.使用配置文件版

1.引入starter

        <dependency>
            <groupId>org.mybatis.spring.boot</groupId>
            <artifactId>mybatis-spring-boot-starter</artifactId>
            <version>2.1.4</version>
        </dependency>

2.完整流程

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

3.改进

在这里插入图片描述

4.说明
使用配置文件版并不会被使用注解版取代,在开发中混合使用配置文件+注解才是经常的,所以不要想着它就不重要



2.使用注解版

1.引入starter

        <dependency>
            <groupId>org.mybatis.spring.boot</groupId>
            <artifactId>mybatis-spring-boot-starter</artifactId>
            <version>2.1.4</version>
        </dependency>

2.完整流程

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

3.关于application.yml

在这里插入图片描述



3.混合版(开发中常用)

1.引入starter

        <dependency>
            <groupId>org.mybatis.spring.boot</groupId>
            <artifactId>mybatis-spring-boot-starter</artifactId>
            <version>2.1.4</version>
        </dependency>

2.完整流程

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

3.问题及改进

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

4.问题及改进

在这里插入图片描述
在这里插入图片描述

五、整合MyBatisPlus

参考文档:MyBatisPlus官网

1.整合与测试

1.引入starter

        <dependency>
            <groupId>com.baomidou</groupId>
            <artifactId>mybatis-plus-boot-starter</artifactId>
            <version>3.4.1</version>
        </dependency>

2.对一些功能的小解释

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

3.完整流程

下面只不过是小测试,所以没有Service层(不要怀疑我缺失了截图)在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

2.将MyBatisPlus整合到后台管理系统中

在这里插入图片描述在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

3.完成分页功能

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

4.完成删除用户的功能

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

六、整合Redis

1.Redis的入门

1.导入redis的starter

        <dependency>
            <groupId>org.springframework.boot</groupId>
            <artifactId>spring-boot-starter-data-redis</artifactId>
        </dependency>

2.redis环境(略)
1、购买阿里云按量付费redis。经典网络
2、申请redis的公网连接地址
3、修改白名单 允许0.0.0.0/0 访问

3.redis小测试

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

3.redis更改连接工厂

你得先导入jedis相关的依赖
        <dependency>
            <groupId>redis.clients</groupId>
            <artifactId>jedis</artifactId>
        </dependency>

在这里插入图片描述

2.使用Redis做监控统计

让拦截器操作redis记录访问某个网址多少次

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

七、单元测试

1.导入依赖

在这里插入图片描述
在这里插入图片描述

2.古今对比

在这里插入图片描述

3.单元测试
官方文档:JUnit5常用注解

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

4.断言机制

简单断言
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

数组断言: 通过 assertArrayEquals 方法来判断两个对象或原始类型的数组是否相等
在这里插入图片描述

组合断言: assertAll 方法接受多个 lambda 表达式提供的断言
在这里插入图片描述

异常断言: Assertions.assertThrows() 配合函数式编程就可以进行使用。断定一定会出现异常。
在这里插入图片描述

超时异常
在这里插入图片描述

快速失败在这里插入图片描述

5.前置条件

前置条件(assumptions【假设】)类似于断言,不同之处在于 不满足的断言会使得测试方法失败
而不满足的前置条件 只会使得测试方法的执行终止。前置条件可以看成是 测试方法执行的前提,当该前提不满足时,就没有继续执行的必要

在这里插入图片描述
在这里插入图片描述

6.测试报告

在这里插入图片描述
在这里插入图片描述

7.嵌套测试

在这里插入图片描述
在这里插入图片描述

8.参数化测试(重点)

参数化测试就可以把所有参数都拉进来挨个测试一遍

  • @ParameterizedTest代表当前测试的内容不是普通的测试,而是参数化测试
  • @ValueSource: 为参数化测试指定入参来源,支持八大基础类以及String类型,Class类型
  • @MethodSource:表示读取指定方法的返回值作为参数化测试入参(注意方法返回需要是一个流)
  • …太多了

总之吧,如果需要就从官方文档(参数化测试)里面学,如果不需要你学那么多也没有用

在这里插入图片描述
在这里插入图片描述

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

你的甲乙丙

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值