自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(49)
  • 收藏
  • 关注

原创 springboot中@PostMapping常用说明

springboot中@PostMapping常用说明。PostMapping属性。

2023-07-01 10:36:08 3418

原创 idea搭建springmvc

它提供了一系列的功能,可以帮助您更快地构建Web应用程序,如控制器,视图,模型,数据绑定,校验等。它还提供了一些现代Web技术,如REST,AJAX,JSON,文件上传等。Spring MVC是一种流行的Web框架,它可以提供一个简单而强大的方式来构建Web应用程序。我这里列出的是搭建完了之后所有的目录和文件,诸位先把目录文件建起来,然后我在给出文件内容。最后运行项目,在打开的页面中点击按钮测试,成功的话会在页面上显示id为1的用户信息。然后新建个测试类,来测试mybatis。注意右下角更新pom。

2023-06-30 11:21:51 5494

原创 SpringBoot 多线程事务回滚,一个注解轻松搞定~

本文是使用了两个注解共同作用实现的,主线程当做协调者,各子线程作为参与者/*** 多线程事务注解: 主事务*///子线程数量/*** 多线程事务注解: 子事务*/两个注解都是用在方法上的,须配合一起使用@MainTransaction注解用在调用方,其参数为必填,参数值为本方法中调用的方法开启的线程数,如:在这个方法中调用的方法中有2个方法用@Async注解开启了子线程,则参数为,另外如果未使用注解,则直接已无多线程事务执行(不影响方法的单线程事务)

2023-06-26 09:28:58 2596

原创 IntelliJ IDEA如何自动生成serialVersionUID

File→Settings→Inspections→在搜索框中输入serialVersionUID搜索→勾选Seriable class without serialVersionUID→单击确定。此时单击类名,按Alt + Enter,在出现的提示框中就出现了添加serialVersionUID的选项,单击可自动生成。单击类名,按Alt + Enter,在出现的提示框中单击添加serialVersionUID的选项。实体对象在流中传输时,需要将其序列化。则需要按照以下设置后才可自动提示。

2023-06-25 16:13:56 7493 2

原创 SpringBoot 一个注解,搞定业务操作日志记录

业务操作日志记录中包含了用户操作的功能名称、功能描述、操作人、操作时间和操作的参数报文,参数报文之所以选择存储在文件中,是因为正常情况下,是不需要知道具体的参数报文,只有在回滚操作的时候才会用到,可以根据上一次的参数报文逆向操作。

2023-06-21 14:06:02 757 1

原创 SpringBoot 中的多线程事务处理太繁琐?一个自定义注解直接搞定!

我们开发的时候常常会遇到多线程事务的问题。以为添加了注解就行了,其实你加了注解之后会发现事务失效。原因:数据库连接spring是放在threadLocal里面,多线程场景下,拿到的数据库连接是不一样的,即是属于不同事务。本文是基于springboot的@Async注解开启多线程,,并通过自定义注解和AOP实现的多线程事务,避免繁琐的手动提交/回滚事务 (CV即用、参数齐全、无需配置)本文是使用了两个注解共同作用实现的,主线程当做协调者,各子线程作为参与者/**

2023-06-21 14:01:52 547

原创 easycode-自定义的模板-类型对应问题

(2)还有一个问题是在为多个表生成代码时,生成的代码位置会错乱,跟选择的不一样,出现这样的问题主要是我之前我单表测试生成与多表生成时选择的path路径不一样 ,这种情况勾选“统一配置”就好了,多表生成建议把这个勾上。(1)前面是包路径,后面是生成文件的存放路径,存放路径是不能后退的,在window的cmd中…/表示进到上级目录,这个在这没用,文件的存放路径只能是你选择的目录的子目录。module是引用定义的全局变量,模板后会贴上全局变量的配置,连续的两个##表示注释1、entity.java。

2023-06-14 16:03:02 1847

原创 oauth2自定义授权认证模式

4、认证服务配置中增加自定义的授权。2、自定义身份授权的Token。1、自定义授权码模式。

2023-06-06 15:50:59 1548

原创 23 种设计模式的通俗解释,虽然有点污,但是秒懂

跟 MM 交往时,一定要注意她的状态哦,在不同的状态时她的行为会有不同,比如你约她今天晚上去看电影,对你没兴趣的 MM 就会说 “有事情啦”,对你不讨厌但还没喜欢上的 MM 就会说 “好啊,不过可以带上我同事么?MM 最爱听的就是「我爱你」这句话了,见到不同地方的 MM,要能够用她们的方言跟她说这句话哦,我有一个多种语言翻译机,上面每种语言都有一个按键,见到 MM 我只要按对应的键,它就能够用相应的语言说出「我爱你」这句话了,国外的 MM 也可以轻松搞掂,这就是我的「我爱你」builder。

2023-05-18 16:25:57 64

原创 OAuth2中 access_token,refresh_token的各类配置与使用场景FAQ

过去几年的OAuth2经历与使用,总结一下,记录有关 access_token, refresh_token的各类配置与场景适应,到此以自问自答的形式把这些琐碎的点总结下来。说明:以下问答中的截图或表等信息以中配置为参考。

2023-05-17 14:57:07 3578 2

原创 oauth2自定义granter与provider实现自定义身份认证

oauth接收到了你传入的grant_type,并把你的请求转发到了你自己的Granter,但谁来进行真正的用户信息合法性校验呢?这段代码比较简单,说白了,当用户进行身份校验时,如果传入的grant_type为group_token_authentication,那么则自动进入这段逻辑创建GroupCompanyAuthenticationToken对象的实例,并将request接收到的参数传入。同时,还提供了认证模式的扩展机制,以便于我们在遇到特殊情况时根据自己的需求来完成身份验证。

2023-05-17 14:49:59 1056 1

原创 Java接口响应序列化时使用自定义注解特殊处理数据

在接口响应时,有很多情况需要做数据转换,比如数据脱敏,null值给默认,数据类型转换...,那怎么避免在代码里写过多的 if 判断和处理逻辑呢?那么使用jackson内省器,在组装json的时候处理想要的数据,就会避免使用切面时遇到的问题。Java 接口响应数据都是使用jackson作为序列化框架的,其中有一个对象。NopAnnotationIntrospector:字面意思 “注释内省器”如果数据有多层,就需要自己写循环迭代处理,比较麻烦。数据处理后,类型必须要跟对象的属性类型一样。

2023-04-22 10:50:31 636

原创 一个优雅的 ThreadLocal 工具类

【代码】一个优雅的 ThreadLocal 工具类。

2023-04-06 17:05:21 817

原创 idea中如何使用markdown

用 三个反引号`(这个符号的位置在键盘的 ESC 下面)开 头 , 然后用三个反引号 结尾。使用 # 来表示标题,井号的数量表示标题的级别 ,总共六级标题。# 和文本之间有个空格。直接右键new出一个file,取名为.md结尾就可以了。使用 ~~ 表示删除线。符号和内容之间能不能有空格。只需要在文本前加入 > 这种尖括号(大于号)即可。用 反引号`开头 , 然后用 反引号结尾。使用数字 和 点 和 空格 表示有序列表。用三个星号代表一个分割线:***使用 *,+,- 表示无序列表。

2023-03-24 12:57:16 2628 1

原创 navicat找出加密的密码

使用【Win】+ 【R】组合快捷键,快速打开运行命令框,在打开后面键入命令:【Regedit】打开注册表编辑器。注:Navicat11版本没有勾选导出密码选项,直接导出即可;Navicat12+版本要勾选【导出密码】选项!Navicat(11.2.7、12.1.15、15.1.17、16.0.6上述版本均已通过测试)为例,通过上方路径,找到注册表中存储密码值的位置(如下图),选中要查看密码的连接名称,双击。(该ncx本质上是xml文件,文件中包含连接的全部信息)项,复制对应的值,至此获得了密文。

2023-03-06 11:17:44 2559

原创 java 代码执行jar包的合并、解压、压缩的操作

一般是Linux命令行下,进行操作就能拆jar、解压jar,把n个jar给合并了。下面是java代码实现这几个操作的util。

2023-02-16 16:45:31 576

原创 SpringBoot 优雅停机的正确姿势

命令强制直接关闭应用程序进程,可能会导致正在执行的任务数据丢失或者错乱,也可能会导致任务所持有的全局资源等不到释放,比如当前任务持有 redis 的锁,并且没有设置过期时间,当任务突然被终止并且没有主动释放锁,会导致其他进程因无法获取锁而不能处理业务。方式来关停服务,在很多人看来并不安全,因为一旦接口泄漏了,意味着用户可以随便请求这个接口来关闭服务,其影响不言而喻,因此很多人建议在服务端,通过其他的方式来关闭服务,比如通过进程命令方式来关停。接口:当应用正要被销毁前,会回调此接口的实现类,也可以使用。

2023-02-02 08:35:16 247

原创 Http、Https请求工具类

这里会根据url自动匹配需要的是http的还是https的client。4. 对于https的需要自己实现一下client。1. maven引入httpclient依赖。3. 获取httpclient的方法。

2023-01-16 15:48:37 137

原创 300万数据导入导出优化方案,从80s优化到8s(实测)

因为你所创建的book,Sheet,row,cell等在写入到Excel之前,都是存放在内存中的(这还没有算Excel的一些样式格式等等),可想而知,内存不溢出就有点不科学了!具体我没有看网上其他人的测试情况,这东西一般也很少有人愿意测试,不过这个速度对于我当时解决公司大数据的导入和导出已经足够,当然公司的业务逻辑很复杂,数据量也比较多,表的字段也比较多,导入和导出的速度会比现在测试的要慢一点,但是也在人类能接受的范围之内。在2003以前Excel的版本后缀还是.xls。它的优点是 不会报内存溢出。

2023-01-13 09:44:19 207

原创 2022秋季-数据库运维

第3章 MySQL数据库对象管理。第4章 数据库安全性与完整性控制。第2章 数据库服务器管理与配置。第6章 数据库性能监视与优化。第5章 数据库备份与恢复。第1章 数据库运维概述。

2022-12-17 10:09:57 1429

原创 Caused by: java.lang.NoClassDefFoundError: com/baomidou/mybatisplus/annotation/SqlParser

Caused by: java.lang.NoClassDefFoundError: com/baomidou/mybatisplus/annotation/SqlParser错误信息在使用mybatisplus的时候,出现这个错误,经查询资料,解决方案如下:添加如下依赖即可解决。

2022-12-17 09:31:36 1267 2

转载 五、springCloudAlibaba基础篇(Gateway网关篇)

如果看过前几篇文章的话就会发现,由于我们的项目拆分为了多个子服务,不同子服务之间配置的IP与端口号不一样,做为开发者我们会使用注册中心给项目配置一个名称,通过别名调用来实现不同子服务之间的相互调用,但是对于访问用户来说,他只有一个访问地址(一般是域名),他不可能记住对应子服务的IP去调用,这时网关的重要性就体现出来了。根据断言结果,来决定该请求发往哪个真实的url地址。uri: 路由匹配规则通过时,要去访问的真实地址,可以写真实地址与端口号,但如果是通过微服务名称的方式访问则写lb://微服务名称。

2022-12-13 10:57:41 271

转载 三、springCloudAlibaba基础篇(openFegin远程调用)

在上一篇文章编写的代码基础上改进,会nacos注册的话,可以不用看 → 一、springCloudAlibaba基础篇(nacos注册中心、配置中心)把用户模块的接口拿过来,使用@FeignClient注解,并把要调用的微服务名称填写进去,还有调用方式。步骤二:修改消费者Controller的代码,如果配置文件没设置超时时间,此处默认时间是1秒超时。而且服务消费者也可以是服务提供者,迟早也得调用其他服务。注:不要再openFegin接口中写没有指向的方法,否则会启动报错,比如下图代码注释的部分解开。

2022-12-13 10:55:08 591

转载 二、springCloudAlibaba基础篇(配置中心作用范围)

上篇文章说过Data-id由三部分组成,实际开发中,也会写多个配置文件,比如-test的,-dev的,用来给线上环境和本地开发环境使用,而我们的DATA-ID就是用来做这个的。可是自己项目的测试、生产、本地开发环境都在上面,虽然可以通过他们的spring.profiles.active配置区分,但比较累眼睛,这个时候就可以通过命名空间区分,根据环境在单独建立命名空间。我们当时的做法是用的Group区分,每个人以自己的名字作为组,这样大家看到配置文件时,就知道这是谁的项目添加进来了,有问题也好找对方。

2022-12-13 10:51:25 136

转载 一、springCloudAlibaba基础篇(nacos注册中心与配置中心)

细心的小伙伴应该发现了,我的配置文件用的是bootstrap.yml而非application.yml,写文章时我尝试用application.yml就没获取到nacos配置的值,此处和配置文件加载顺序有关,以后再写,大家出现同样问题改一下就好。${prefix} : 当前项目名称,也就是配置文件中spring.application.name的值,也可以通过配置项 spring.cloud.nacos.config.prefix来配置。只需三步,添加依赖,编写配置文件,启动类添加注解。

2022-12-13 10:48:58 212

转载 四、springCloudAlibaba基础篇(分布式事务)

下面是一个用于插入用户的代码片段,在插入用户前会记录下用户操作,图中因为 1 / 0 必然会导致异常,导致后半部分代码不会执行,此时为了保证事务的原子性,插入用户操作记录也应该回滚,spring为我们提供的声明式事务只用添加@Transactional就可以达到效果。所以截图看一下我的代码结构吧,下边会给上所有代码,如果有照着以前写代码的小伙伴,自己按需粘贴 注意resource目录,把seata的俩文件粘贴进来了(是改完后的,不是刚解压那会的)答案是不会的,此时可以使用分布式事务seata解决,

2022-12-13 10:21:27 330

原创 http请求参数包含MultipartFile

http请求参数包含MultipartFile

2022-12-06 08:49:08 881

原创 oracle删除重复数据

学如逆水行舟,不进则退。

2022-10-14 11:22:55 211

原创 Aes生成key和iv,加密解密

Aes生成key和iv,加密解密

2022-10-14 10:37:29 8688

原创 字符串互转hex(E587A4E587B0)

字符串互转hex

2022-10-14 10:36:05 1150

原创 p6spy配置详解

2P6SpyDriver底层是实现与com.mysql.jdbc.Driver类似都是实现java.sql.Driver接口。【注】 如果以上配置无法满足你的需求,可以查看一下详细的spy.properties说明,可以根据自己的需求配置。p6spy是一个开源项目,通常使用它来跟踪数据库操作,查看程序运行过程中执行的sql语句。P6spyLogFormatStrategy.java 自定义日志输出内容。到此配置完成,启动项目,即可在控制台上查看你配置的日志格式。2、 切换driverClass(必须)...

2022-08-18 15:18:51 5789

原创 Java List 集合如何去除null元素

思路:这种处理方式是把要处理的集合进行遍历,取出其中不为空的元素,添加到新的集合中1234567891011 集合空元素的处理,api 有直接处理的方法,使用的是迭代器,本质上还是 for 循环的思想12345 相同较大数据量,第一种方法要比第二种稍微快一点,但优势并不明显,上万条数据才几十毫秒的差别,很明显,第二种处理只用了一行代码就搞定,推荐使用第二种方式处理...

2022-07-14 11:48:20 984

转载 springboot依赖springframework版本关系&springframework各版本框架源码及与jdk版本的对应关系

springboot依赖springframework版本关系&springframework各版本框架源码及与jdk版本的对应关系

2022-07-14 10:47:28 4500 1

原创 sprng boot 工程 读取不到依赖jar的配置文件, 本地idea跑没问题,但是在服务器却读取失败

sprng boot 工程 读取不到依赖jar的配置文件, 本地idea跑没问题,但是在服务器却读取失败

2022-07-12 14:15:40 493

转载 牛逼!100多个常用 API 接口整理大全,常用的都有。。

我们在开发的过程中,常常调用API接口,往往事半功倍。今天给大家整理了优秀的API接口!各类无次数限制的免费API接口整理,主要是聚合数据上和API Store上的一些,还有一些其他的。聚合数据提供30大类,160种以上基础数据API服务,国内最大的基础数据API服务,下面就罗列一些免费的各类API接口。手机号码归属地API接口:https://www.juhe.cn/docs/api/id/11历史上的今天API接口:https://www.juhe.cn/docs/api/id/63股票数据API接口:

2022-07-11 11:55:47 5725

原创 Mysql Like查询优化

mysql使用模糊查询时,如果数据量比较大,就会响应很长时间,严重影响效率。一般的模糊查询:SELECT `column` FROM `table` WHERE `field` like '%keyword%';即使对相应的字段建立索引也无济于事(用EXPLAN执行,根本没有触发索引,而是全表搜索)。在网上查了一下,找到如下几种方法:一、单个匹配符SELECT `column` FROM `table` WHERE `field` like 'keyword%';这样写的好处是可以触发索引,提高查询效率,但

2022-07-11 11:53:48 5462 2

原创 java请求获取参数

//get请求获取参数public String getParamters(HttpServletRequest request) { Map<String, String> map = Maps.newHashMap(); Enumeration<String> parameterNames = request.getParameterNames(); while (parameterNames.hasMoreElements()) { S

2022-07-08 15:13:23 1336

原创 DateUtil

DateUtil获取List获取当前时间日期前30天获取当前时间月份前12个月

2022-07-08 11:53:53 472

原创 物联网协议

物联网协议

2022-07-08 11:06:37 493

原创 springcloud公共模块打包

springcloud公共模块打包

2022-07-08 09:31:05 2425

空空如也

空空如也

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

TA关注的人

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