自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

vengu733的博客

菜鸡一个

  • 博客(60)
  • 收藏
  • 关注

原创 泛微E9 -明细表附件上传同步识别二维码功能,zxing+opencv实现

实现在OA流程中识别电子二维码,获取二维码里的相关信息,渲染到表单对应字段上。1、前端,调用函数axios发送请求,携带参数,接收返回值,changeFieldValue渲染数据2、后端接收请求,解析参数,查询数据库,DocImageFile,对加密文件,进行解密。写入解密的文件到特定文件夹,判断是否为PDF格式,png格式,jpg格式,如果PDF格式,将PDF转为图片 再二维码解信息,如果不是直接解析二维码信息。返回解析信息到前端。前端渲染数据。

2024-03-21 14:53:02 1585 3

原创 Seta分布式事务

事务就是用户定义的一系列数据库操作,这些操作可以视为一个完成的逻辑处理工作单元,要么全部执行,要么全部不执行,是不可分割的工作单元,也就是说事务是具有原子性的分布式事务是指事务的参与者、支持事务的服务器、资源服务器以及事务管理器分别位于不同的分布式系统的不同节点之上。换句话说就是事务的参与者不在同一个JVM下面,也就是不在同一个事务管理器下在seata处理分布式事务中出现三个角色事务协调者维护全局和分支事务的状态,驱动全局事务提交或回滚。事务管理器定义全局事务的范围:开始全局事务、提交或回滚全局事务。

2022-12-26 11:52:51 4387

原创 Sentinel流控

随着微服务的流行,服务和服务之间的稳定性变得越来越重要。Sentinel 以流量为切入点,从流量控制、熔断降级、系统负载保护等多个维度保护服务的稳定性。

2022-12-26 10:49:11 1261

原创 Nacos配置中心

使用 Spring Cloud Alibaba Nacos Config,可基于 Spring Cloud 的编程模型快速接入 Nacos 配置管理功能。

2022-12-26 10:34:17 1154

原创 Nacos注册中心

Spring Cloud Alibaba 致力于提供。此项目包含开发分布式应用微服务的必需组件,方便开发者通过 Spring Cloud 编程模型轻松使用这些组件来开发分布式应用服务。依托 Spring Cloud Alibaba,您只需要添加一些注解和少量配置,就可以将 Spring Cloud 应用接入阿里微服务解决方案,通过阿里中间件来迅速搭建分布式应用系统。

2022-12-25 21:09:59 1159

原创 GateWay网关

SpringCloud Gateway作为Spring Cloud生态的网关,目标是替代Zuul,在SpringCloud2.0以上的版本中,没有对新版本的zuul2.0以上的最新高性能版本进行集成,仍然还是使用的zuul1.x非Reactor模式的老版本。而为了提升网关的性能,SpringCloud Gateway是基于webFlux 框架实现的,而webFlux框架底层则使用了高性能的Reactor模式通信框架的Netty。

2022-12-25 20:52:38 2340

原创 04-Hystrix

这个类就是熔断降级触发的逻辑代码@Override //降级服务的实现 public String queryProduct() {return "产品服务正在升级中,暂时不可用,请客官耐心等待....";} }

2022-12-25 19:42:30 1049

原创 OpenFeign

Feign是一个声明式 Web 服务客户端。它使编写 Web 服务客户端更容易。要使用 Feign,创建一个接口并对其进行注解。它具有可插入的注释支持,包括 Feign 注释和 JAX-RS 注释。Feign 还支持可插拔的编码器和解码器。Spring Cloud 添加了对 Spring MVC 注解的支持,并支持使用HttpMessageConvertersSpring Web 中默认使用的注释。

2022-12-25 15:50:26 1034 1

原创 Elasticsearch

项目ESSolr安装简单,开箱即用复杂分布式自带分布式协调管理功能利用zookeeper分布式管理支持类型JSON功能注重核心功能,其他功能借助于第三方插件提供功能更多查询速度建立索引快,查询慢,实时查询快,推特,新浪实时应用查询快,增删改查慢,传统应用社区学习成本高,开发维护者少,更新快社区成熟。

2022-12-25 14:48:24 2362 1

原创 SpringBoot整合RocketMQ

因为SpringBoot集成RocketMQ的starter依赖是由Spring社区提供的,目前正在快速迭代的过程当中,不同版本之间的差距非常大,甚至基础的底层对象都会经常有改动。

2022-12-23 19:42:49 2464

原创 RocketMQ

官网:RocketMQ是阿里巴巴2016年MQ中间件,使用Java语言开发,RocketMQ 是一款开源的分布式消息系统,基于高可用分布式集群技术,提供低延时的、高可靠的消息发布与订阅服务。同时,广泛应用于多个领域,包括异步通信解耦、企业解决方案、金融支付、电信、电子商务、快递物流、广告营销、社交、即时通信、移动应用、手游、视频、物联网、车联网等。具有以下特点:能够保证严格的消息顺序提供丰富的消息拉取模式高效的订阅者水平扩展能力实时的消息订阅机制亿级消息堆积能力。

2022-12-23 19:40:22 794

原创 SpringCloud-Ribbon

server:spring:eureka:client:register-with-eureka: false #由于我们目前创建的应用是一个服务注册中心,而不是普通的应用,默认情况下,这个应用会向注册中心(也是它自己)注册它自己,设置为false表示禁止这种自己向自己注册的默认行为fetch-registry: false #由于我们目前创建的应用是一个服务注册中心,而不是普通的应用,默认情况下,这个应用会向注册中心(也是它自己)注册它自己,设置为false表示禁止这种自己向自己注册的默认行为。

2022-12-23 19:35:36 1302

原创 DataSource: ‘url‘ attribute is not specified and no embedded datasource could be configured

下面是Idea 报错 ,显示 我们的数据源出错可是我们并没有配置数据源啊,,,,没有配置任何数据源,但是却显示数据源报错 ,即便我们删除了配置文件 ,只想单纯启动程序,依旧会出这样的错误,删除target ,重新构建项目都没有用解决方法1:查看我们的pom.xml 文件我们的依赖导入了 接口类模块 ,接口模块的依赖导入了导入了mybatisplus ,因此也导致了我们的pom.xml 也导入的这个依赖,所以出现数据源报错 ,所以 在导入这个接口模块的时候要过滤mybatisplus依赖解决方

2022-12-07 09:43:55 7238

原创 Eureka(注册中心)

是Spring提供的一个调用Restful服务的抽象层,它简化了Restful服务的通信方式,隐藏了不必要的一些细节,让我们更加优雅地在应用中调用Restful服务。我们在项目中经常要使用第三方的Rest API服务,比如短信、快递查询、天气预报等等。这些第三方只要提供了Rest Api,你都可以使用来调用它们。只要你的项目使用了Spring MVC就已经集成了。但是通常情况下该类不会自动被注入Spring IoC容器 ,需要手动实例化。

2022-11-25 21:27:58 999

原创 MyBatis-Plus 和swagger

Swagger是一个规范和完整的框架,用于生成、描述、调用和可视化 RESTful 风格的 Web 服务。总体目标是使客户端和文件系统作为服务器以同样的速度来更新。文件的方法,参数和模型紧密集成到服务器端的代码,允许API来始终保持同步。

2022-11-23 16:18:39 1231

原创 JWT token

Json web token (JWT), 是为了在网络应用环境间传递声明而执行的一种基于JSON的开放标准((RFC 7519).该token被设计为紧凑且安全的,特别适用于分布式站点的单点登录(SSO)场景。JWT的声明一般被用来在身份提供者和服务提供者间传递被认证的用户身份信息,以便于从资源服务器获取资源,也可以增加一些额外的其它业务逻辑所必须的声明信息,该token也可直接被用于认证,也可被加密【可解析的】。官网: https://jwt.io/

2022-11-08 20:10:53 346

原创 Error attempting to get column ‘XXX‘ from result set. Cause: java.sql.SQLException:

**Error attempting to get column 'product_full_time' from result set. Cause: java.sql.SQLException: Zero date value prohibited; Zero date value prohibited; neste显示日期错误 ,其实不是我们代码错误 sql 语句也没有错误。检查一下数据库数据。时间数据不对 (有可能是格式等错误)我这里修改过一个时间 ,所以导致 错误。删掉数据就显示成功了。

2022-11-04 20:44:08 1544

原创 Spring Security 验证码

原理、存在问题、解决思路我们知道Spring Security是通过过滤器链来完成了,所以它的解决方案是创建一个过滤器放到Security的过滤器链中,在自定义的过滤器中比较验证码。

2022-10-27 21:32:29 1547

原创 【源码分析】Spring Security认证授权总揽

通过前面的Spring Security认证流程我们得知,认证管理器(AuthenticationManager)委托AuthenticationProvider完成认证工作。AuthenticationProvider是一个接口,定义如下:/**认证*//**判断认证方式*/}authenticate()方法定义了认证的实现过程,它的参数是一个Authentication,里面包含了登录用户所提交的用户、密码等。

2022-10-27 21:16:35 250

原创 Security(安全框架)

进入移动互联网时代,大家每天都在刷手机,常用的软件有微信、支付宝、头条等,下边拿微信来举例子说明认证相关的基本概念,在初次使用微信前需要注册成为微信用户,然后输入账号和密码即可登录微信,输入账号和密码登录微信的过程就是****认证****。系统为什么要认证?

2022-10-25 11:37:51 4252

原创 npm ERR! 404 Not Found - GET https://registry.npmmirror.com/@vue%2fvue-loader-v15 - [NOT_FOUND] @vue

vue 安装npm i element-ui -S 等 组件 报错。

2022-10-24 09:25:33 8448 2

原创 缓存穿透、缓存击穿、缓存雪崩

一个存在value的key,在缓存创建(或过期)的一刻,同时有大量的请求,这些请求都会击穿到DB,造成瞬时DB请求量大,压力骤增。缓存击穿只会发生在高并发的时候,就是当有10000 个并发进行查询数据的时候,我们一般都会先去redis里面查询进行数据,但是如果redis里面没有这个数据的时候,那么这10000个并发里面就会有很大一部分并发会一下子都去mysql数据库里面进行查询了。这样给数据库带来巨大的压力。例如以下示例:(1) 业务类代码。

2022-10-21 21:04:09 2476 6

原创 springboot- redis常见数据存取

string类型数据结构如下:get:取数据del:删除数据mset:一次性存储多个keymget:一次性取多个keystrlen:获取字符个数append:追加字符串(如果没有则新增)string扩展操作自增自减string类型的注意事项在Redis中,List类型是按照插入顺序排序的字符串链表。和数据结构中的普通链表一样,我们可以在其头部(left)和尾部(right)添加新的元素。在插入时,如果该键并不存在,Redis将为该键创建一

2022-10-21 12:03:40 2658

原创 springboot-dubbo and Thymeleaf使用

使用SpringBoot搭建基于SSM的分布式框架。按照dubbo官方的推荐,一个基于dubbo的微服务项目至少包含三个模块。接口模块,生产者模块,消费者模块。

2022-10-20 19:42:36 611

原创 springbook 注解笔记

springboot 注解笔记。

2022-10-20 19:32:46 404

原创 Redis解决高并发问题

乐观锁并非数据库加锁和阻塞的解决方案,乐观锁把读取到的旧数据保存下来,等到要对数据进行修改的时候,会先把旧数据与当前数据库数据进行比较,如果旧数据与当前数据一致,我们就认为数据库没有被并发修改过,否则就认为数据已经被其它并发请求修改,当前的事务回滚,不再修改任何数据。MySQL就提供数据库锁的解决方案,这种锁称为悲观锁。” 中的**“for update”称为更新锁**,在数据库事务执行过程中,它会锁定查询出来的数据,其他事务不能再对其进行读写,直到该事务完成才会只放锁,这样能避免数据不一致了。

2022-10-20 11:57:40 6009 2

原创 redis补充

Redis是一个开源,先进的key-value存储,并用于构建高性能,可扩展的Web应用程序的完美解决方案。Redis数据库完全在内存中,使用磁盘仅用于持久性。相比许多键值数据存储,Redis拥有一套较为丰富的数据类型。Redis可以将数据复制到任意数量的从服务器。官方提供测试数据,50个并发执行100000个请求,读的速度是110000次/s,写的速度是81000次/s。

2022-10-20 11:57:10 372

原创 redis

(1)SQL数据库单机时代(2)读写分离时代(3)分表分库时代(集群)(4)NoSQL时代Redis全称是 Remote Dictionary Server(远程字典服务器),是一个用C语言编写的、开源的、基于内存运行并支持持久化的、高性能的NoSQL数据库,是当前最热门的NoSQL数据库之一,广泛被互联网公司所使用。

2022-10-20 11:56:35 196

原创 maven项目常用配置

Jackson库(Spring MVC的JSON视图)dbutils(简化JDBC的工具包,可独立使用)Tiles3(整合Spring MVC)web.xml(含Spring MVC)log4j.properties 日志。pom.xml文件文档声明。定义编译级别(JDK版本)统一项目字符集和编译级别。

2022-10-19 13:01:12 357

原创 SpringBoot

(1)Spring的优点Spring是Java企业版(Java Enterprise Edition,JEE,也称J2EE)的轻量级代替品。无需开发重量级的EnterpriseJavaBean(EJB),Spring为企业级Java开发提供了一种相对简单的方法,通过依赖注入和面向切面编程,用简单的Java对象(Plain Ordinary Java Object,POJO)实现了EJB的功能。(2)Spring的问题虽然Spring的组件代码是轻量级的,但它的配置却是重量级的。一开始,Spring用XML配

2022-10-19 11:42:27 691

原创 springboot-thymeleaf

Thymeleaf 是一个流行的模板引擎,该模板引擎采用 Java 语言开发模板引擎是一个技术名词,是跨领域跨平台的概念,在 Java 语言体系下有模板引擎,在 C#、PHP 语言体系下也有模板引擎,甚至在 JavaScript 中也会用到模板引擎技术,Java 生态下的模板引擎有 Thymeleaf 、Freemaker、Velocity、Beetl(国产) 等。Thymeleaf 对网络环境不存在严格的要求,既能用于 Web 环境下,也能用于非 Web 环境下。

2022-10-19 11:32:51 1702

原创 Dubbo-zookeeper(注册中心)

Dubbo目前支持4种注册中心,(multicast、zookeeper、redis、simple) ,推荐使用Zookeeper注册中心。Zookeeper 是 Apacahe Hadoop 的子项目,是一个树型的目录服务,支持变更推送,适合作为 Dubbo 服务的注册中心,工业强度较高,可用于生产环境,因此被dubbo并推荐使用。(1)Zookeeper官网:https://zookeeper.apache.org/(2)下载并解压 “apache-zookeeper-3.5.6-bin.tar.gz”

2022-10-17 20:52:58 2310

原创 Dubbo 架构-直连

Apache Dubbo是一款高性能的Java RPC框架。其前身是阿里巴巴公司开源的一个高性能、轻量级的开源Java RPC框架,可以和Spring框架无缝集成。Dubbo官网地址:http://dubbo.apache.orgDubbo提供了三大核心能力:面向接口的远程方法调用,智能容错和负载均衡,以及服务自动注册和发现。Dubbo官方文档:https://dubbo.apache.org/zh/RPC全称为remote procedure call,即远程过程调用。

2022-10-17 18:32:02 862

原创 解决vue ui 连接已断开 问题

网上那些文章说什么vue 版本过高1.卸载vue cil老版本npm uninstall vue-cli -g卸载完毕之后,下载vue cil3的新版本npm install @vue/cli -g都无法解决问题我们要做的是给path 添加路径 C:\Windows\System32。

2022-09-08 16:36:39 6993 21

原创 SSM 项目基本配置

可以创建配置模板,减少代码量,但是必须了解每个配置的作用思路 : 预估有三个表 , , ,主键都设置为spring+springmvc相关的依赖mybatis 核心包mybatis分页插件spring和mybatis集合包mysql驱动包log4j-core日志引入lombok引入jackson包引入hutool工具类文件上传包引入druid数据库连接池引入hibernate数据校验三 、springmvc.xml1、表头2、开启组件扫描 ,扫描控制层3、 开启注解4、配置视图

2022-08-15 21:05:58 1161

原创 绝对路径和相对路径笔记

如果资源无法加载 有三种方法解决。理解相对路径和绝对路径。

2022-08-10 16:09:12 120

原创 SpringMVC学习笔记01

SpringMVC 是一种基于 Java 的实现 MVC 设计模型的请求驱动类型的轻量级 Web 框架,属于 Spring FrameWork 的后续产品,已经融合在 Spring Web Flow 里面。Spring 框架提供了构建 Web 应用程序的全功能 MVC 模块。使用 Spring 可插入的 MVC 架构,从而在使用 Spring 进行 WEB 开发时,可以选择使用 Spring的 Spring MVC 框架或集成其他 MVC 开发框架,如 Struts1(现在一般不用),Struts2 等。.

2022-08-10 11:35:15 163

原创 cglib 动态代理

CGLIB 动态代理JDK的动态代理机制只能代理实现了接口的类。而不能实现接口的类就不能使用JDK的动态代理,CGLIB是针对类来实现代理的,它的原理是对指定目标类生成一个子类,并覆盖其中的方法实现增强,但因为采用的是继承,所以不能对final修饰的类进行代理。目前主流还是使用Cglib 动态代理比较多 ,所以建议Cglib 要学会,JDK 动态代理也最好掌握Cglib和jdk动态代理的区别?1、Jdk动态代理:利用拦截器(必须实现InvocationHandler)加上反射机制。......

2022-08-08 15:42:49 873

原创 Spring 整合Mybatis的两种方式(基础原理)

官网:mybatis-springMyBatis-Spring 会帮助你将 MyBatis 代码无缝地整合到 Spring 中。它将允许 MyBatis 参与到 Spring 的事务管理之中,创建映射器 mapper 和 SqlSession 并注入到 bean 中,以及将 Mybatis 的异常转换为 Spring 的 DataAccessException。 最终,可以做到应用代码不依赖于 MyBatis,Spring 或 MyBatis-Spring。导入相关jar包强烈建议大家学习spring 整

2022-08-07 13:19:17 590

原创 Invalid bound statement (not found):

应该了绑定mapper 的时候 ,用了class 属性 ,貌似 maven 扫描的时候会过滤掉我们的usermapper.xml 所以会出现找不到配置文件的bug ,不过用 resource 属性就不会出现这种问题。检查我们的target 有没有添加上 usermapper.xml。在当前模块的 pol.xml 中加上我们这段代码。...

2022-08-06 18:46:17 239

空空如也

空空如也

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

TA关注的人

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