黑马程序员SpringBoot2-开发实用篇

视频连接:开发实用篇-67-手工启动热部署_哔哩哔哩_bilibili

热部署

手动启动热部署

热部署仅包含restart的过程。

自动启动热部署

按Ctrl+Alt+Shift+/打开下列界面。

禁用热部署

配置高级

@ConfigurationProperties

宽松绑定/松散绑定

常用计量单位绑定

数据校验

设置具体规则。

测试

加载测试专用属性

加载测试专用配置

使得某个配置只能在当前测试类中使用,从而减少配置。

Web环境模拟测试

查看调用过程是否成功。

查看执行结果是否符合预期(感觉有点麻烦,如果返回结果不是字符串呢,我还得自己写一个一模一样的返回结果?)。奥,应该可以只判断返回结果中的某个属性是不是符合预期。

请求头匹配,感觉意义不大。

数据层测试回滚

为测试类加上@Transactional注解,防止运行程序的时候测试类对数据库进行操作。

测试用例数据设定

数据层解决方案

SQL层

这一章主要讲的是SpringBoot自己内置的数据源、持久化技术、内置数据库。

数据源配置

如果没有指定数据源类型,springboot会采取默认数据源对象hikari,具体配置有区别需要自己查。

内置持久化解决方案——jdbcTemplate

比较原始的jdbc技术。比较繁琐。JdbcTemplateSpringJDBC的封装,应用于dao层,对数据库进行CRUD的操作。

内嵌数据库(H2)

导包

初次启动需要声明数据源。

配置完后启动,浏览器url输入localhost/h2进入控制台。

NoSQL

Redis

SpringBoot整合

使用RedisTemplate类操作redis数据库。

直接使用RedisTemplate使用的是对象映射,在客户端中可能查询不到对象,可以修改为使用StringTemplate或者指定泛型为String。

jedis

edis是一个用Java编写的Redis客户端,包含易于使用Redis的API。

springboot默认的客户端是Lettuce,性能较高,但为了与之前的软件兼容,可以改为jedis。

mongo

又能操作结构化数据,又能高响应速度。

应用场景

下载安装

下面的../data/db文件夹需要自己创建。

基本操作

Springboot整合MongoDB

ES(Elasticsearch)

适用于根据关键字查询信息,这里的倒排索引表示根据关键字查询id,创建文档表示创建对应数据(关键字-id-数据)的数据结构,方便快速展示,使用文档表示输入关键字查询到对应信息。

下载与安装

基础操作

这里的索引大概的意思是表示查询的方式,通过制定mappings进行设定。

下载分词器,放在plugin目录下。

文档就是数据。

整合SpringBoot的操作

下面引入json需要导入fastjson。

整合第三方技术

缓存

缓存使用

手机验证码案例

后面没有ppt...

缓存供应商变更:Ehache

xml文件放在resource文件夹下。

数据淘汰的方法

LRU跟时间相关,LFU跟次数相关。

缓存供应商变更:Redis

下面的是进一步配置。

缓存供应商变更:memcached

缓存供应商变更:jetcache

在方法上加缓存。

@CacheRefresh表示过多长时间刷新一下缓存,使得与数据库同步,因为可能有另一个系统更新数据库导致缓存与数据库不一致。

缓存供应商变更:j2cache

j2cache提供了框架,使得不同的缓存技术可以进行整合。其中j2cache-core包中包含了对redis的整合。以下为实现redis和ehcache的整合。

下面redis的provider_class在j2cache-core包中能找到对应的provider类,要使用那个类的全类名。broadcast也是j2cache-core包下的实现类。

任务

整合Quartz

这个不需要指定成bean。

Spring Task

邮件

整合JavaMail

下面的password要填授权码。

消息

将任务分发给子业务系统,分散压力。

三种规范

JMS

AMQP

统一了数据格式,解决了跨平台的问题。

Kafka

ActiveMq

默认目的地。

自定义目的地。

监听器可以直接执行队列中的数据。

RabbitMq

定义了交换机,交换机将队列和键值绑定,收发消息时不直接与队列交换信息,而是根据键值和交换机找相应队列。

监听器监听的注解需要写队列名称。

仅修改了红色部分,字符串匹配的灵活性为多种多样的消息匹配提供了便捷。

RocketMq

为了方便服务器扩容,添加了nameServer。

要想运行成功,需要把jdk版本换到9以下,还要把path中jdk的环境变量中的路径改成没有空格的。

Kafka

监控

监控的意义

左边监控平台主动拉取右边监控信息,右边监控设置是否可以被监控以及展示信息的种类。

可视化监控平台

监控原理

端点名称

暴露出来的端点可以使用web访问也可以使用jmx jconsole方式访问。

自定义监控指标

监控平台的info没有信息,使用如下办法自定义信息。

红线部分要加enabledefault。

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值