自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(47)
  • 资源 (14)
  • 收藏
  • 关注

原创 工作实战之系统交互api调用认证设计

系统间接口调用,接口文档及实现,包括api认证授权,包括参数sha256加盐哈希,sign,md5签名,各种手段保证接口调用的安全性

2023-02-23 15:26:33 684

原创 分布式事务原理源码分析(seata)

zh一.TM-RM-TC工作流程图二.详细流程分析1.GlobalTransactionScanner a.TM注册,RM注册,这一步,可以个性化TC的认证,不是所有TM和RM都能注册上来,如果你要做一个类似GTS的分布式事务服务 private void initClient() { if (LOGGER.isInfoEnabled()) { LOGGER.info("Initializing Global Transaction C...

2022-05-26 12:46:33 669

原创 springboot 自定义starter redis acl控制

springboot集成jedis,完成redis acl功能使用

2022-02-08 17:02:13 1242 2

原创 分布式递增序列实现组件starter

一.实现方式1.基于redis实现的递增序列2.基于数据存储过程实现的递增序列3.基于数据库乐观锁实现的递增序列二.测试结果展示1.基于redis实现分布式递增序列a.测试代码package com.zenglx.demo;import com.zenglx.assembly.increasingSequence.api.SequenceGeneratorApi;import org.springframework.beans.factory.annotation.Aut

2021-08-21 18:00:33 368

原创 基于mybatis-plus的多语言扩展

/ 循环注入自定义方法} else {@Override@Getter@Setter/*** 多语言字段*//*** 实体类 => 主键信息*//*** 实体类 => 全部列*//*** 是否多语言*//*** 获取所有的查询的 sql 片段* @param ignoreLogicDelFiled 是否过滤掉逻辑删除字段* @param withId 是否包含 id 项。

2024-05-28 11:08:53 584

原创 TLOG日志框架springboot项目集成与扩展

TLog是一个轻量级的分布式日志标记追踪神器,10分钟即可接入,在我使用的时候,有些不足,所以我自己进行了个性化定制,现在已经在项目中使用。

2023-03-16 16:08:57 1946 3

原创 RPC框架组件openFeign原理解析

OpenFeign是是一个基于Http协议的RPC组件1.如果你以前在工作中经常碰到feign调不通,日志还看不出什么原因2.如果你不知道怎么扩展服务与服务之间的调用feign,服务间的接口签名等3.如果你发现服务与服务间的断路器不起作用,还找不到原因

2023-03-13 16:21:12 1734

原创 工作实战之大文件上传minio

大文件上传,要解决的问题:1.文件太大,请求限制,2.文件太大,耗时太久,连接超时 3.断点续传解决方案:采用分片的方式进行上传前端用百度开源的WebUploader进行分片异步上传后端用minio的putObject上传,composeObject合并,完成大文件的上传

2023-03-10 19:16:46 6068 11

原创 工作实战之拦截器模式

拦截过滤器模式,简称拦截器模式,是责任链模式的一种衍生模式。用于对业务程序做一些预处理/后处理

2023-03-07 16:42:24 736

原创 工作实战之代码规范

软件质量的好坏,不仅取决于团队成员的编程能力,更取决于整个项目的代码规范,代码规范包括java代码规范,数据库规范,设计规约等

2023-03-03 14:43:56 476

原创 工作实战之微服务认证实现

白银段位:微服务应用,认证方式springsession+sessionId同步,存在延迟钻石段位:微服务应用,认证方式springsession+redis分布式缓存,存在跨域问题以及CSRF攻击星耀段位:微服务应用,认证方式springsecurity+oauth2,jwttoken方式一、钻石段位springsecurity+springsession+redis缓存。星耀段位:微服务应用,认证方式springsecurity+oauth2+jwttoke

2023-03-02 14:29:45 440

原创 工作实战之密码防重放攻击

密码重放攻击:请求被攻击者获取,并重新发送给认证服务器,从而达到认证通过的目的的方式

2023-03-01 18:07:20 940

原创 工作实战之xss攻击防范

跨站脚本攻击(全称Cross Site Scripting,简称为XSS)是指恶意攻击者在Web页面中插入恶意javascript代码(也可能包含html代码),当用户浏览网页之时,嵌入其中Web里面的javascript代码会被执行,从而达到恶意攻击用户的目的,知其原理才能知道解决方法,但是如果过滤不全,也可能被绕过。

2023-02-24 11:05:08 1144

原创 springboot 自动注入源码分析spring.factories

黄金了解spring.factories自动装配,铂金自己写starter实现自动装配,知道加一个spring.factories然后配置一个@Configuration配置类,星耀知道加载全过程

2023-02-21 16:58:17 687

原创 前后端分离数据传输加解密方案(建议方案二)

前后端分离,接口数据传输加解密

2022-09-27 14:13:25 8829 2

原创 mybatis扩展mybatis-plus原理剖析

mybatis-plus源码分析,在mybatis的基础上通过解析mapper注解类的方式给mapper接口代理对象增加select,update,delete,insert,selectById等方法

2022-09-26 11:32:55 1175

原创 springboot集成mybatis原理分析

springboot集成mybatis源码分析,解决在开发过程中,mapper对象没有注入,项目启动异常等问题

2022-09-22 16:57:44 881 1

原创 mybatis源码分析

mybatis源码分析,分析配置文件如何加载到configuration对象,mapper接口,如何通过动态代理生成对象,完成对数据库的操作

2022-09-21 15:55:41 235

原创 xxl-job源码解读(调度器调度执行器)

xxl-job源码解读,调度器远程调度执行器,执行业务测定时任务,流程源码分析

2022-09-19 16:55:52 887

原创 xxl-job源码解读(执行器注册调度器)

a.ExecutorRegistryThread,内部启动一个线程registryThread。2.toStop在程序关闭的时候,注销注册的执行器,以免后续调度器调用无效执行器。b.服务端,接收到http请求,将注册信息,存入到数据库,供后面,调度器调度。1.setDaemon(ture)为守护线程,程序关闭不受影响。

2022-09-16 18:02:17 1148

原创 springboot集成kafka消费手动启动停止

在某个特定场景,需要对kafka实行暂停消费,等月结完成,从新启动消费

2022-09-05 18:50:33 4297

原创 脱敏组件start

一.文章结构1.敏感数据页面上部分显示,可以基于web拦截器返回前端前做修改,也可以基于mybatis拦截器在查询出来后做修改2.项目集成(开箱即用,maven引入,返回类上加注解)3.项目demo测试4.实现原理剖析(自定义注解,mybaits拦截器使用,java反射的使用)5.源码下载二.项目集成1.maven引入<dependency> <groupId>com.zenglx.assembly</groupId&g

2021-08-24 20:44:11 278

原创 分布式页面防重复提交组件start

一.文章结构1.页面防重复提交实现方式(按钮置灰治标不治本,主键判断高并发下失效,基于redis单线程实现)2.项目集成(开箱即用,maven引入,方法加注解)3.多线程快速点击结果展示4.实现原理剖析(自定义注解,spring的aop拦截,redis的setNx的使用)5.源码地址下载二.防重复提交组件集成1.maven引入 <dependency> <groupId>com.zenglx.assembly</gr

2021-08-23 14:42:49 188

原创 前后端数据传输加密(一)

1.AES对称加密 a.前端加解密<script src="https://cdn.bootcss.com/crypto-js/3.1.9-1/crypto-js.min.js"></script>/*** 加密**/functionencrypt(value,key) { var tempValue = JSON.stringify(value); var tempKey = CryptoJS.enc.Utf8.parse(key); var...

2021-03-31 09:50:18 10631

原创 spring zuul上传大文件处理

上传大文件经过zuul网关,包head space内存溢出处理方式有两种1.在application.yml配置中增加file-size-threshold: 20MBspring: application: name: zuul-gateway servlet: #spring boot2.0之前是http multipart: enable...

2020-03-16 17:11:52 2551

原创 spring 工具 StopWatch 调试性能问题

/* * Inc. * Copyright (c) 2000-2019 All Rights Reserved. */package com.aspire.zenglx.project.util;import org.springframework.util.StopWatch;/** * @author zengliangxi * @version $id:StopWat...

2019-11-21 16:56:11 442

原创 springboot项目配置文件密码 密文

1.maven依赖<dependency> <groupId>com.github.ulisesbocchio</groupId> <artifactId>jasypt-spring-boot-starter</artifactId> <version>2.1.1</version>...

2019-11-21 16:43:01 1185

原创 jenkins 配置项目持续集成

调用shell,启动没有反应,守护进程启动BUILD_ID=dontKillMe

2019-09-27 13:40:02 121

原创 redis实现防重复提交

前端重复提交的解决方案1.按钮置灰解决重复提交问题,不是很靠谱可绕过前端2.后台业务控制,增加代码量,增加业务逻辑复杂度3.使用redis分布式锁(setnx)解决下面我们用aop使用第三种方式解决,可以做到比较通用1.定义注解@Target({ElementType.PARAMETER, ElementType.METHOD})@Retention(Retention...

2019-07-30 10:06:02 1814

原创 springboot2.0与百度开源分布式id生成器UidGennerator集成

UidGenerator 由百度开发,是Java实现的, 基于 Snowflake算法的唯一ID生成器。UidGenerator以组件形式工作在应用项目中, 支持自定义workerId位数和初始化策略, 从而适用于 docker等虚拟化环境下实例自动重启、漂移等场景下面来看怎么在项目中集成:代码结构如下图1.https://github.com/baidu/uid-generato...

2019-07-27 14:24:06 1254 1

原创 springboot2.0与quartz的集成实现分布式高可用,多个调度器模式

本文完成了springboot2.0与调度工具quartz的集成,完成高可用,将状态保存到数据initialize-schema: never这个有三个值,有兴趣的可以去查一下,是关于在数据库中创建quartz表的配置 在项目启动时,将配置文件的job加入到调度服务里面,同时调度服务把它记录到数据库中,然后任务在触发点执行,调度服务回去修改相应状态,通过数据库锁的机制,完成分布式...

2018-12-19 09:51:04 2986 6

原创 linux 应用启动脚本

LOG_FILE=/start/jenkins.log #需要修改 1.启动日志文件APP_NAME=jenkins  #需要修改 2.应用名称pid=`ps -ef | grep $APP_NAME | grep -v grep | tr -s " "|cut -d" " -f2 `start(){  if [ -n "$pid" ];then    echo -e "$APP_N...

2018-11-30 14:19:00 524

原创 VMware Workstation 12 Pro 本机与虚拟机连接设置

1.设置网络连接      2.配置虚拟网络3.设置本机ip4.将虚拟机ip设置为

2018-11-28 09:39:40 1060

原创 数据权限控制

界面用户通过浏览器访问系统,传递查询参数 查询参数经过控制层,aop组件对参数进行拦截,读取redis缓存中的数据权限数据,进而对参数进行重新组装。 从新组装的查询参数传递到业务处理层。 业务处理层将查询参数传递到数据访问层。 Sql分析组装组件对查询sql和查询参数进行从新拼接。 从新拼接的sql对数据进行查询。 新的查询sql查询出来的数据从数据库到数据访问层。 数据权限过滤的数...

2018-08-28 10:18:01 4139

原创 Elasticsearch 在项目中的实战(三)

.1  安装数据库同步程序将原有项目数据库数据和ES库连接同步,此处用到工具elasticsearch-jdbc1.安装数据库同步服务 elasticsearch-jdbc将elasticsearch-jdbc-2.3.4.1.zip解压到/opt/aspire/product/search/(解压指令unzip)解压考指令(不包含端口修改等操作):cd /opt/aspire/product/s...

2018-05-28 13:50:10 1984

原创 Elasticsearch 在项目中的实战(二)

1.下载elasticsearch-head ES head下载链接2.安装elasticsearch-head    a.安装node.js     b.unzip elasticsearch-head-master.zip3.进入elasticsearch-head-master目录        执行 npm install        运行 npm run start4.配置 elast...

2018-05-28 11:37:02 909

原创 Elasticsearch 在项目中的实战(一)

1.下载安装elasticsearch  ES下载地址2.在linux环境中解压 文件 unzip elasticsearch-5.5.2.zip3.打开ES所在目录,修改$ES_HOME/config/elasticsearch.yml, 找到network.host:字样,将后面的IP修改为服务器的内网IP:# ---------------------------------- Netwo...

2018-05-28 11:13:04 2800

原创 Elasticsearch 在项目中的实战(大纲)

1.下载安装elasticsearch2.下载安装elasticsearch-head插件,图形化界面操作3.将原有项目数据库数据和ES库连接同步,此处用到工具elasticsearch-jdbc4.将查询或操作的数据源切换到ES库...

2018-05-28 10:57:07 2403 3

原创 spring boot 集成webservice axis(3) axis集成到项目

1.在第二章这是axis生成的客户端代码2.程序中调用spring boot 集成webservice axis(2) axis由wsdl或者xml生成客户端代码

2018-04-29 08:22:48 6999 1

原创 spring boot 集成webservice axis(2) axis由wsdl或者xml生成客户端代码

1.点击项目右键新增other如下图2.选择3.选择wsdl文件4.选择代码生成的位置5.在pom.xml中引入axis依赖或者在普通项目中引入jar包spring boot 集成webservice axis(1) eclipse axis插件安装spring boot 集成webservice axis(3) axis集成到项目...

2018-04-29 08:18:01 13683

maven插件实现代码检查格式化

通过maven插件实现代码的检查和格式化,统一项目成员的代码风格,打造易读高质量的代码,为后续新成员的加入打下坚实的基础,方便后期项目的维护,降低项目的维护成本

2023-03-03

设计规约架构师成长之路

maven库的设计 一方库:本工程内部子项目模块依赖的库(jar 包)。 二方库:公司内部发布到中央仓库,可供公司内部其它应用依赖的库(jar 包)。 三方库:公司之外的开源库(jar 包) 如果某个业务对象的状态超过 3 个,使用状态图来表达并且明确状态变化的各个触发条 在需求分析阶段,如果与系统交互的 User 超过一类并且相关的 User Case 超过 5 个,使用用例图来表达更加清晰的结构化需求

2023-03-03

mysql数据库规范拥抱易读数据库脚本

此规范包括建表规范,索引规范,SQL语句规范,ORM映射规范 MySQL数据库与 Oracle、 SQL Server 等数据库相比,有其内核上的优势与劣势。我们在使用MySQL数据库的时候需要遵循一定规范,扬长避短。本规范旨在帮助或指导RD、QA、OP等技术人员做出适合线上业务的数据库设计。在数据库变更和处理流程、数据库表设计、SQL编写等方面予以规范,从而为公司业务系统稳定、健康地运行提供保障

2023-03-03

java开发规范拥抱易读代码

此规范包括命名风格,常量定义,代码格式,控制语句,并发控制,注释规约,异常日志,单元测试,安全规约等 在阿里规范的基础上整理了本公司的java代码开发规范,帮助学程序开发的同学,从最初的代码开始,规范自己的编码习惯,并不是读不懂的代码才是牛逼的代码,牛逼的代码是过了一个月或者更久,自己还能知道这是自己写得代码,远离菜鸟拥抱易读代码

2023-03-03

认证鉴权starter

系统与系统间,api调用,需要认证鉴权,基于springboot的starter自动加载机制,完成似本地调用代码,基于feign的拦截器实现,做到用户零代码,使用非常简单,改配置,maven引入,spring注入客户端api类,本地方法调用,无需再组装请求头,发起http请求,解析http响应,可扩展性强,代码侵入少,配置简单,开源,支持定制开发

2023-02-23

脱敏组件start源码

基于自定义注解及mybaits拦截器的脱敏组件源码

2021-08-24

avoidRepeatSubmit.rar

防重复提交组件及demo

2021-08-23

数据库 mysql 表结构导出工具 DBCHM.rar

数据库 mysql 表结构导出工具

2021-03-30

uidGenerator.rar

百度开源的分布式id生成器,uidgenerator,在springboot2.0中集成,完成项目中的测试使用

2019-07-27

nexus私服启动脚本

nexus私服的启动脚本,完成对nexus私服的启动,停止,重启,查看启动状态等功能

2018-11-30

jenkin启动脚本

jenkins启动脚本,文件中修改各自jenkins的目录,与端口即可实现jenkins的启动,停止,重启,查看状态等等

2018-11-30

webservice axis eclipse客户端插件

webservice开发,axis的eclipse客户端插件,用于生成webservice客户端代码

2018-04-29

axis的eclilpse插件

开发webservice 服务端eclipse插件,用于生成webservice代码

2018-04-29

redis-3.0.6.tar.gz和redis-desktop-manager-0.8.8.384_.zip

redis存储和redis客户端图形化界面,用于搭建和学习redis相关知识

2018-01-07

c3p0数据库操作工具类

封装了连接池c3p0的jdbc的工具类,可以有效的防止数据库因连接过多而崩溃的问题

2014-06-21

springside框架

springside是融合spring,hibernate,struts2,的一个做权限框架

2012-02-20

tree 后台增删改查的实现

tree后台代码的实现,用了struts框架和oracle数据库

2012-02-20

Extjs tree

ajax技术,extjs框架中tree的节点的添加,修改,删除及拖曳

2012-02-20

书店管理系统

此书店管理系统,包括了需求的功能,有图书管理,会员管理,图书统计等

2011-10-08

空空如也

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

TA关注的人

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