springboot2第二部分

引入thymeleaf做视图解析:

 

 

 

 

 

 

引入依赖:

 

 

 

 

 

 

 

 

 

 

 

 补充,设置工程访问路径:

 

 

 

 ====

建个新项目,做测试:

 

 

 

 

 

 跳转:

 

 

 

 

 

 改成重定向,避免刷新导致表单重新提交:

 

 做个简单的逻辑判断:

 

 

 

 

 

 

 

 

 

 

 

 登陆后在页面显示用户名:

 

=====

完善一下页面:

 

 抽取公共页面之后的引用:

 

 

 

 

 

 

 

  

拦截器机制:

创建,配置拦截器:

 

 

 

 配置拦截器到容器中,让拦截器起作用:

 

 补充,打印日志(引入lombok之后,直接加注解就可打印):

 

 

 

 

 小结:

 

 

================= 

文件上传功能:

 

 

 

 

 

 

 

 修改文件大小的参数:

 

 错误页面统一管理:

 

 打印错误信息:

 

 =======

原生组件注入:

servlet:

 

 在主程序上加个注解,就可以扫描到三大组件:

 

 

注入filter组件:

 

 

注入liatener:

 

 =====

第二种方式注入三大组件:

 

 

 

 filter的第一种写法:

传入的参数是mysevlet,这样myfilter拦截的就跟myservlet拦截的路径是一样的:

 

 第二种写法是自己写拦截路径:

 

 

 

 

 ====

定制化:

配置类:

 

 

 

 

 

 

 

 

 

 

 =======================

数据库开发:

第一步:导入依赖

 

 

 数据库驱动的版本要跟数据库相对应:

第二种改版本的方法是:

 配置数据源,用yaml:

 

 修改配置项:

查询超时配置:

 

  测试:

 

 

 

 ====

自定义数据库连接池:

默认是hikari数据源,但是因为这个注解,我们可以自己把数据源注入容器,默认的就不会生效:

 

 

第一种方法:

引入依赖:

 

 写一个配置类:

 

 测试:

设置监控页功能: 

 

 

 

 

 配置上监控也之后还要开启监控功能才行:

 

 

 

 配置一个监控器:

 

 ===

配置防火墙:

 

 添加进入监控页的账号密码:

 

 ======================

第二种方法:

用starter引入druid:

 

 

 

 个性化配置就要去配置文件里:

 

 

 

 

 

 

 

 

 ============

整合mybatis:

引入依赖: 

 

 

 

 创建一个mybatis的全局配置文件:

 

 创建一个与数据库表对应的bean:

 

 

创建一个接口,调用方法:

 

 创建SQL映射文件:

 

 整合起来:

 

 测试:

创建一个service:

 

 

 

 给mybatis全局配置文件配置上驼峰命名:

 

 用另一种方式配置mybatis,就是在yaml文件中(如果要在yaml文件中配置mybatis的属性,就不能指定mybatis的全局配置文件了):

 

 

 

 小结:

 ============

mybatis纯注解:

导入starter,

补充:在创建项目时,用初始化框架,也能整合mybatis:

 

 创建一个表:

 

 创建一个bean:

 

 创建一个接口:

 

 创建一个service:

 

 控制器运行:

 

 用混合模式,就是注解跟配置文件一起用:

加了usegeneratedkeys属性就可以传回表中自增的id属性值。

 

 

 

 如何用注解写稍微复杂点的sql:

 

 小结:

 

 为了省去接口上的@mapper注解,可以在主程序上加一个扫描注解:

 

 ===========

mybatis-plus:

安装mybatisx插件。

创建一个新表:

 

 

 

 引入mybatis-plus依赖:

 

 jdbc的依赖就可以省去了(整合mybatis的时候就可以省去了):

 

 

mybatis的场景也可以省去了:

 

 

 

 

 

本来应该要配置数据源的,但是之前已经配好了:

 

 

创建一个bean和mapper:

 

 

 

 

 

 测试:

 

 出现异常,需要在bean中的属性中加注解:

表示这些属性在表中不存在:

 

 用一个注解指明bean对应的哪张表:

 

 规范的操作应该是创建一个service接口,然后创捷一个实现类,实现其中方法:

 

 

 

 

 

 

 

发送请求:

 

 

 

 

 

 还要配置一个分页拦截器才能让分页显示正确:

 

 做点设置:

 

 

==

创建删除功能:

 

 

 

 ===========

运用redis:

导入依赖:

 

 

 

 

购买redis:

申请公网连接:

 

 

 

 看视频69.

配置redis:

 

 测试redis:

 

 

 

因为连接不上, 配置文件换个写法:

 

 如果要切换底层操作的客户端,换成jedis,就要引入依赖:

 

 并且在配置文件中声明:

 

 创建一个拦截器,通过redis统计访问的数据:

 

 

在配置类中要添加一个拦截器,拦截所有请求但是放行静态资源:

 

 

 

 

 

 

 

获取数据:

 

 

 

 

 

 最后要释放实例:

 

 ================

单元测试:

 

 

现在在springboot中用单元测试很方便:

引入依赖:

 

 

加两个注解

 

 

 

 

 

 

 

 

 

 

 

 

 @beforeeach:是在每个测试之前运行

 

 @aftereach:是在每个测试之后运行

 ==

 

 

 

 

 

 ================

断言机制:

 

 

 

 测试:

导入包

 

 

 

 可以自己添加提示语:

 

 

 

 数组断言:

 

 组合断言:

断言都成功才算成功:

 

 异常断言:

 

 快速失败:

 

 整个单元测试跑一遍,出报告:

 

 

 ==============

 

 

 

 嵌套测试:

 

 

 

 

 

 

 

 

 

 

 

 

测试:

 

 

 

 ======================

指标监控:(主要还是看视频77)

 

 

引入依赖:

 

 

 

 

 

 

 

常用监控端点:

 

 

 

 

 默认关闭,单点开启(健康状态总是显示细节):

 

定制健康一个组件信息:

 

 

 

 

 

 定制info信息:

 

 

  

第二种定制info的方法:

 

 

 

 

 

 定制metrics信息:

 

 

 

 

 

 

 

 

 添加一个定制的endpoint:

 

 

 

 

 

 

 

 ===

添加一个可视化监控界面:

创建个新项目,

引入依赖:

 

 

 

 换一个监控的端口:

 

 

 

 在需要被检测的项目中引入依赖:

 

 配置要发送指标的地址:

 

 加点配置:

 

 ====

高级特性:

 

 因为一个项目会在好几个不同环境下运行,创建好几个配置文件:

然后通过配置文件激活相应的配置环境:

 

 

也可以用命令行修改配置,在你打完jar包还想修改配置的时候,在保存这个jar包的文件夹下(配置文件中的内容都可以这么改):

 

 

 

 ===

条件装配:

准备一个bean:

 

 

 

 

 

 然后把person变成接口,让两个类去继承:

 

 

 

 

 

 

 

 加了这个注解,这个bean就只会在test环境下生效:

写在配置类中,加注解,改方法就在指定的环境中生效:

 

 

 分组激活(这样就激活了myprod组,ppd和prod都被激活了):

 

 ==================

外部化配置:

可以从电脑的环境配置中取得值:

 

 

 

 ====

自定义starter

 

 

 创建一个新项目,添加模块:

 

 有点复杂,看视频83

 

posted @ 2021-06-01 15:41  即墨非音  阅读(50)  评论(0)    收藏  举报