自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

Asurplus

不登高山,不知天之高也;不临深溪,不知地之厚也

  • 博客(224)
  • 资源 (9)
  • 问答 (1)
  • 收藏
  • 关注

原创 【SpringBoot】74、SpringBoot中整合MyBatis-Plus-Join使用联表查询

连表查询一直是 mybatis-plus 的短板之处,当需要连表查询时,还得打开 xml 文件写入长长的 sql 语句。运行结果与之前完全相同,需要注意的是,这样写时在引用表名时不要使用数据库中的原表名,主表默认使用 t,其他表使用join语句中我们为它起的别名,如果使用原表名在运行中会出现报错。mybatis-plus-join 这款工具还是比较使用的,能更应对项目中不是非常复杂的场景下的sql查询,大大提高我们的生产效率,也希望后面的版本能够带给我们更多的惊喜。如您在阅读中发现不足,欢迎留言!

2022-12-14 16:46:05 796

原创 【SpringBoot】73、SpringBoot中使用AOP+反射将URL参数映射到实体入参

我们有时候的全局参数是根据 URL 传递的,例如:token、timestamp 等,我们需要获取 URL 上的参数进行处理,但又需要跟随这实体参数进行传递,手动赋值显得不够智能,所以通过 AOP + 反射的方式对其进行自动注入

2022-12-07 13:34:25 144

原创 【SpringBoot】72、SpringBoot中接入轻量级分布式日志框架Graylog

Graylog 是一个开源的日志聚合、分析、审计、展现和预警工具。在功能上来说,和 ELK 类似,但又比 ELK 要简单很多。依靠着更加简洁,高效,部署使用简单的优势很快受到许多人的青睐。当然,在扩展性上面确实没有ELK好,但是其有商业版本可以选择

2022-10-26 20:26:10 1215 2

原创 【Docker】9、Docker-Compose安装轻量级分布式日志服务Graylog

Graylog 是一个开源的日志聚合、分析、审计、展现和预警工具。在功能上来说,和 ELK 类似,但又比 ELK 要简单很多。依靠着更加简洁,高效,部署使用简单的优势很快受到许多人的青睐。当然,在扩展性上面确实没有ELK好,但是其有商业版本可以选择

2022-10-26 20:08:16 413

原创 【Docker】8、安装Docker-Compose服务

Compose 是用于定义和运行多容器 Docker 应用程序的工具。通过 Compose,您可以使用 YML 文件来配置应用程序需要的所有服务。然后,使用一个命令,就可以从 YML 文件配置中创建并启动所有服务

2022-10-26 19:54:32 74

原创 【tio-core】1、tio-study是学习t-io的第一步

网络编程很苦,用 t-io 后会很甜,tio-study 是学习 t-io 的第一步

2022-10-22 20:46:59 417

原创 【SpringBoot】71、SpringBoot中集成多数据源+动态数据源

dynamic-datasource-spring-boot-starter 是一个基于 springboot 的快速集成多数据源的启动器

2022-10-20 15:23:59 1706

原创 【Docker】7、Docker安装RabbitMQ服务

Docker安装RabbitMQ服务

2022-10-18 21:32:42 492

原创 【Docker】6、Docker搭建Redis高可用Cluster集群环境

Docker搭建Redis高可用Cluster集群环境

2022-10-07 21:40:42 612

原创 【Docker】5、Docker安装Minio服务

docker安装minio文件服务器

2022-09-26 21:58:15 281

原创 【Docker】4、Docker安装Nginx服务

Docker安装Nginx服务

2022-09-25 22:59:12 522

原创 【Docker】3、Docker安装Redis服务

Docker安装Redis服务

2022-09-25 22:43:40 361

原创 【Docker】2、Docker安装MySQL5.7服务

docker安装MySQL5.7服务

2022-09-25 22:37:21 256

原创 【Docker】1、Centos安装Docker服务

centos中安装docker服务

2022-09-25 22:32:01 186

原创 【SpringBoot】70、SpringBoot实现MySQL数据库自动备份管理系统

最近写了一个 MySQL 数据库自动、手动备份管理系统开源项目,想跟大家分享一下,项目地址:https://gitee.com/asurplus/db-backup

2022-08-12 10:34:15 1316 2

原创 【SpringBoot】69、SpringBoot中Event事件发布与监听

事件的发布监听机制类似于观察者模式,利用事件的监听机制可以实现业务的发起与业务的处理解耦,更能体现单一职责原则,例如:新用户注册,我们需要发送邮件通知用户,触发了注册事件,监听者就能监听到注册事件,进行后续操作...

2022-06-21 21:30:56 360 2

原创 【SpringBoot】68、SpringBoot解决HttpServletRequest中输入流不能重复读的问题

Java 中的输入流 InputStream 的 read() 方法中有一个标志位 postion,标志当前流读取到的位置,每读取一次,位置就会移动一次,如果读到最后,InputStream.read() 方法会返回-1,标志已经读取完了,如果想再次读取,可以调用 inputstream.reset() 方法,position 就会移动到上次调用 mark 的位置,mark 默认是 0,所以就能从头再读了。...

2022-06-21 11:31:07 676

原创 【SpringBoot】67、SpringBoot使用ip2region获取地理位置信息

ip2region,准确率99.9%的离线IP地址定位库,0.0x毫秒级查询,数据库文件大小只有1.5M,提供了java,php,c,python,nodejs,golang,c#等查询绑定和Binary,B树,内存三种查询算法

2022-06-21 09:36:04 418

原创 【SpringBoot】66、SpringBoot使用自定义注解实现返回数据脱敏操作

在实际项目中,对于敏感数据的保护显得十分重要,数据脱敏又称数据去隐私化或数据变形,是在给定的规则、策略下对敏感数据进行变换、修改的技术机制,能够在很大程度上解决敏感数据在非可信环境中使用的问题。本文使用自定义注解,在返回数据给前端的时候,根据给定的脱敏规则实现敏感数据脱敏操作,实现过程非常简单,一起来看看吧!...

2022-06-20 10:53:51 872 3

原创 【SpringBoot】65、SpringBoot整合Canal+RabbitMQ监听MySQL实现数据同步更新Redis缓存

canal 简介早期阿里巴巴因为杭州和美国双机房部署,存在跨机房同步的业务需求,实现方式主要是基于业务 trigger 获取增量变更。从 2010 年开始,业务逐步尝试数据库日志解析获取增量变更进行同步,由此衍生出了大量的数据库增量订阅和消费业务。基于日志增量订阅和消费的业务包括:数据库镜像数据库实时备份索引构建和实时维护(拆分异构索引、倒排索引等)业务 cache 刷新带业务逻辑的增量数据处理MySQL的binlog简介MySQL的二进制日志可以说是MySQL最重要的日志了,它记录了所

2022-05-07 11:36:04 626

原创 【SpringBoot】64、SpringBoot中集成企业微信机器人实现运维报警

在企业运营中,为了实现工作效率和执行效率的提升,往往会选择在社群中使用群聊机器人进行协助管理。机器人可以定时或者按照一定的规则给群里发信息并@群成员等。群聊机器人可以活跃气氛,关怀员工比如根据天气情况提醒员工注意天气变化,发送节日、生日祝福等。它也可以进行工作提醒,帮助员工更好的做系统化的回报总结,机器人可以依托业务系统,每天定时发送工作总结给对应负责人,帮助员工更好地复盘工作。1、注册企业微信注册地址:https://work.weixin.qq.com/wework_admin/register_

2022-05-06 16:32:58 1812 1

原创 【SpringBoot】63、SpringBoot中教你手把手封装自己的starter(xxl-job-spring-boot-starter)

1、starter 命令规范1、官方提供的 starterspring-boot-starter-{name}2、自己封装的 starter{name}-spring-boot-starter2、封装 xxl-job-spring-boot-starter1、创建项目本次我们封装的是 xxl-job的starter,项目命令为 xxl-job-spring-boot-starter,目录结构如下:2、引入 pom.xml<?xml version="1.0" enc

2022-05-04 19:49:36 1475

原创 【SpringBoot】62、SpringBoot中接入xxl-job实现分布式任务调度

XXL-JOB是一个分布式任务调度平台,其核心设计目标是开发迅速、学习简单、轻量级、易扩展。现已开放源代码并接入多家公司线上产品线,开箱即用。1、下载 xxl-jobgitee 地址:https://gitee.com/xuxueli0323/xxl-job文档地址:https://www.xuxueli.com/xxl-job/2、启动 xxl-job从 gitee 上下载 xxl-job,使用 IDEA 工具打开,目录如下:代码中已经有了 SpringBoot 的整合实例,是学习

2022-04-28 16:12:32 1816

原创 【SpringBoot】61、SpringBoot中使用谷歌身份验证器(Google Authenticator)实现二步身份验证

Google身份验证器Google Authenticator是谷歌推出的基于时间的一次性密码(Time-based One-time Password,简称TOTP),只需要在手机上安装该APP,就可以生成一个随着时间变化的一次性密码,用于帐户验证。Google身份验证器是一款基于时间与哈希的一次性密码算法的两步验证软件令牌,此软件用于Google的认证服务。此项服务所使用的算法已列于RFC 6238和RFC 4226中。1、安装谷歌身份验证器苹果用户在App Store搜索google au

2022-04-21 10:30:02 2539 7

原创 【微信小程序】2、SpringBoot整合WxJava接入微信客服

上篇文章中已经开启了微信小程序的消息推送:【微信小程序】1、SpringBoot整合WxJava开启消息推送,接下来我们就对微信中用户发送的客服消息,转发到微信客服来处理回复1、添加微信客服登录微信公众平台,在客服模块,添加微信客服,输入客服的微信号,客服人员就会收到客服绑定通知,绑定即可,这里我已经添加了一名客服2、消息推送配置信息在 开发管理 --》开发设置 向下拉,找到 消息推送设置开启微信推送,并配置相关参数1、URL,即微信推送消息的时候,调用你的 api 接口地址2、Toke

2022-04-19 13:58:55 1611 4

原创 【tio-websocket】6、tio-websocket-server使用ByteBuffer收发消息

1、初识 ByteBuffer官方文档:ByteBuffer:网络编程前置技能https://www.tiocloud.com/doc/tio/83ByteBuffer是nio/aio编程所必须掌握的一个数据结构,也是掌握tio所必须要学会的基础知识。设想你不懂Map,不懂List,不懂Set,那么你在编程领域将会一事无成,同样的道理,如果你不懂ByteBuffer,你无法在nio/aio编程领域立足我们可以把bytebuffer理解成如下几个属性组成的一个数据结构byte[] byte

2022-04-12 23:17:42 4182 1

原创 【SpringBoot】60、SpringBoot中整合RabbitMQ实现延时队列(死信队列篇)

前面在文章:【SpringBoot】43、SpringBoot中整合RabbitMQ实现延时队列(插件篇) 中使用 RabbitMQ 的延时插件 rabbitmq_delayed_message_exchange 来实现延时队列,本篇讲述使用死信队列实现延时队列的原理即实现。一、实现原理1、什么是死信队列死信队列:DLX,dead-letter-exchange利用DLX,当消息在一个队列中变成死信 (dead message) 之后,它能被重新publish到另一个Exchange,这个Ex

2022-03-30 20:46:11 2362 2

原创 【微信小程序】1、SpringBoot整合WxJava开启消息推送

接入微信小程序消息推送服务,可以3种方式选择其一:1、开发者服务器接收消息推送2、云函数接收消息推送3、微信云托管服务接收消息推送开发者服务器接收消息推送,开发者需要按照如下步骤完成:1、填写服务器配置2、验证服务器地址的有效性3、据接口文档实现业务逻辑,接收消息和事件1、引入 WxJava 依赖<!-- web支持 --><dependency> <groupId>org.springframework.boot</groupI

2022-03-28 21:54:03 2020 2

原创 【微信公众号】10、SpringBoot整合WxJava将消息转发到客服

如果公众号处于开发模式,普通微信用户向公众号发消息时,微信服务器会先将消息POST到开发者填写的url上,如果希望将消息转发到客服系统,则需要开发者在响应包中返回MsgType为transfer_customer_service的消息,微信服务器收到响应后会把当次发送的消息转发至客服系统。您也可以在返回transfer_customer_service消息时,在XML中附上TransInfo信息指定分配给某个客服帐号。1、官方文档https://developers.weixin.qq.com/doc/

2022-03-23 21:03:56 546 8

原创 【微信公众号】9、SpringBoot整合WxJava实现多客服管理

当用户和公众号产生特定动作的交互时(具体动作列表请见下方说明),微信将会把消息数据推送给开发者,开发者可以在一段时间内(目前为48小时,2021年6月1日后启用新规则,查看公告)调用客服接口,通过POST一个JSON数据包来发送消息给普通用户。此接口主要用于客服等有人工消息处理环节的功能,方便开发者为用户提供更加优质的服务。目前允许的动作列表如下:1、用户发送信息2、点击自定义菜单(仅有点击推事件、扫码推事件、扫码推事件且弹出“消息接收中”提示框这3种菜单类型是会触发客服接口的)3、关注公众号4

2022-03-23 20:29:25 755

原创 【微信公众号】8、SpringBoot整合WxJava发送模板消息

模板消息仅用于公众号向用户发送重要的服务通知,只能用于符合其要求的服务场景中,如信用卡刷卡通知,商品购买成功通知等。不支持广告等营销类消息以及其它所有可能对用户造成骚扰的消息。1、主动发送消息1、在微信公众号中我们多数都是被动回复用户消息,在文章:【微信开发】4、SpringBoot整合WxJava处理微信消息、事件推送 中我们可以收到用户的消息、事件推送,从而被动回复用户信息。2、微信公众号中能主动给用户发送消息的方式有以下几种:1、模板消息,每个账号的模板消息的日调用上限为10万次2、群

2022-03-23 13:58:41 1155 3

原创 【微信公众号】7、SpringBoot整合WxJava新增临时、永久素材

公众号经常有需要用到一些临时性的多媒体素材的场景,例如在使用接口特别是发送消息时,对多媒体文件、多媒体消息的获取和调用等操作,是通过media_id来进行的。素材管理接口对所有认证的订阅号和服务号开放。通过本接口,公众号可以新增临时素材(即上传临时多媒体文件)。1、官方文档新增临时素材https://developers.weixin.qq.com/doc/offiaccount/Asset_Management/New_temporary_materials.html新增永久素材https:/

2022-03-23 12:19:01 1006

原创 【微信公众号】6、SpringBoot整合WxJava创建自定义菜单

自定义菜单能够帮助公众号丰富界面,让用户更好更快地理解公众号的功能。开启自定义菜单后,公众号界面如图所示:1、请注意:自定义菜单最多包括3个一级菜单,每个一级菜单最多包含5个二级菜单。一级菜单最多4个汉字,二级菜单最多8个汉字,多出来的部分将会以“…”代替。创建自定义菜单后,菜单的刷新策略是,在用户进入公众号会话页或公众号profile页时,如果发现上一次拉取菜单的请求在5分钟以前,就会拉取一下菜单,如果菜单有更新,就会刷新客户端的菜单。测试时可以尝试取消关注公众账号后再次关注,则可以看到创建后

2022-03-22 23:13:27 716

原创 【微信公众号】5、SpringBoot整合WxJava网页授权获取用户信息

如果用户在微信客户端中访问第三方网页,公众号可以通过微信网页授权机制,来获取用户基本信息,进而实现业务逻辑。

2022-03-22 22:56:41 938 2

原创 【微信公众号】4、SpringBoot整合WxJava处理微信消息、事件推送

消息推送当普通微信用户向公众账号发消息时,微信服务器将POST消息的XML数据包到开发者填写的URL上。事件推送在微信用户和公众号产生交互的过程中,用户的某些操作会使得微信服务器通过事件推送的形式通知到开发者在开发者中心处设置的服务器地址,从而开发者可以获取到该信息。其中,某些事件推送在发生后,是允许开发者回复用户的,某些则不允许。1、配置JS接口安全域名这里我们配置我们的域名就好,http,https 那些不用加,最后的 / 也不要加2、接收微信消息、事件推送在【微信开发】3、..

2022-03-22 22:18:46 2510

原创 【微信公众号】3、SpringBoot整合WxJava对微信服务器消息进行校验

本章将介绍 SpringBoo 整合 WxJava 进行开发微信服务后台,以及微信测试号的相关配置,对微信的消息进行校验1、WxJava 介绍WxJava - 微信开发 Java SDK,支持微信支付、开放平台、公众号、企业号/企业微信、小程序等的后端开发。Gitee 地址如下:https://gitee.com/binary/weixin-java-tools2、引入 WxJava<!-- web支持 --><dependency> <groupId&g

2022-03-22 21:54:46 894 1

原创 【微信公众号】2、申请微信公众平台接口测试帐号

公众号要具备开发能力的话,需要在微信公众号平台注册,申请,审核,每年会产生一定的费用,开发阶段,我们可以使用微信公众号的接口测试账号,直接体验和测试公众平台所有高级接口1、接口测试号https://mp.weixin.qq.com/debug/cgi-bin/sandbox?t=sandbox/login使用我们自己的微信扫码登录即可2、登录接口测试号登录上来之后,我们就能看到我们测试号的 appid,appsecret 等信息,接口配置信息等3、关注接口测试号向下滑动,可以看到一个二维

2022-03-22 21:27:04 19236

原创 【微信公众号】1、使用内网穿透工具Ngrok代理本地服务

我们在微信开发过程中,需要不断调试,微信服务器无法访问我们本地的接口,那么我们就需要一个内网穿透的工具,将我们本地的服务暴露出去使外部能够访问,内网穿透成功后,我们自己开发的电脑就相当于一台云服务器。常用的内网穿透工具有:ngrok、花生壳、Natapp、小米球等等,我平常使用的就是 ngrok 了。1、官网地址https://ngrok.com/在官网可以下载 ngrok 的安装包,和我使用的版本不一样,推荐使用我的资源文件2、下载我推荐一种我使用的方法,下载我上传的资源文件:Ngrok内网穿

2022-03-22 21:16:44 692 2

原创 【SpringBoot】59、SpringBoot使用Sa-Token-Quick-Login插件快速登录认证

一、解决的问题Sa-Token-Quick-Login 可以为一个系统快速的、零代码 注入一个登录页面试想一下,假如我们开发了一个非常简单的小系统,比如说:服务器性能监控页面, 我们将它部署在服务器上,通过访问这个页面,我们可以随时了解服务器性能信息,非常方便然而,这个页面方便我们的同时,也方便了一些不法的攻击者,由于这个页面毫无防护的暴露在公网中,任何一台安装了浏览器的电脑都可以随时访问它!为此,我们必须给这个系统加上一个登录认证,只有知晓了后台密码的人员才可以进行访问细细想来,完成这个功能你需

2022-03-18 12:55:59 1129 5

原创 【SpringBoot】58、SpringBoot使用自定义注解实现接口限流

在高并发系统中,保护系统的三种方式分别为:缓存,降级和限流。限流的目的是通过对并发访问请求进行限速或者一个时间窗口内的的请求数量进行限速来保护系统,一旦达到限制速率则可以拒绝服务、排队或等待。1、自定义限流注解import com.asurplus.common.enums.LimitType;import java.lang.annotation.*;/** * 限流注解 * * @author Lizhou */@Target(ElementType.METHOD)@Reten

2022-03-17 19:47:06 1454 6

省、市、县、乡、村五级级联数据SQL文件

省、市、县、乡、村五级级联数据SQL文件

2022-05-13

Ngrok内网穿透工具安装包

1、最简单的使用ngrok的方式 2、内网穿透后,使外部能够访问你的本地服务接口 3、微信开发、小程序开发必备

2022-03-22

省市区级联SQL数据.zip

更新了最新的省市区三级SQL数据文件,包含三张表,省、市、区,各一张表,最新,最全

2021-06-03

自定义划分区域获取区域内坐标点-百度地图

调用百度地图API,实现自定义划分区域,圆型,长方形,不规则图形,并能够计算区域内的坐标点数,并使用了点聚合方式渲染大量的坐标点

2020-12-04

Java转PDF.zip

该资源包括了 Java 中转 PDF 所使用的方法与 jar 包,包括:pd4ml.jar,fonts.jar,ss_css2.jar,PDFUtils.java

2020-08-11

consul_1.4.1_windows_amd64.zip

Consul包含多个组件,但是作为一个整体,为你的基础设施提供服务发现和服务配置的工具.他提供以下关键特性: 服务发现、健康检查、Key/Value存储、多数据中心 内含consul.exe,还有启动指南等

2020-04-08

网页打印工具:clodop

HTML中使用clodop打印订单信息等,还支持打印预览 使用文档:https://blog.csdn.net/qq_40065776/article/details/103892624

2020-04-08

一款网页图片预览插件:viewer

Viewer,一款好用的图片预览插件 使用文档:https://blog.csdn.net/qq_40065776/article/details/103893243

2020-04-08

Tomcat服务监控工具probe

1、我们在日常的生产过程中,需要跟Tomcat这个服务器打交道,例如:项目部署,项目启停,项目更新等操作,我们都是登录到服务器系统中对Tomcat进行操作,这样一来,容易引发误操作,可能我们命令误输入,对服务器进行误操作。 2、有了问题,我们就需要解决,于是找到这款Tomcat的监控神器——probe,通过简单配置,即可在probe的操作界面进行图形化操作,避免我们在黑窗口的很多误操作,提高安全性。 使用文档:https://blog.csdn.net/qq_40065776/article/details/100167613

2020-04-08

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除