- 博客(53)
- 资源 (3)
- 收藏
- 关注
原创 Spring声明式事务管理是通过注解或 XML 配置来实现
如果你使用 XML 配置,可以在中配置声明式事务。xml上述示例展示了如何使用声明式事务管理来简化事务操作。通过使用注解或 XML 配置,开发者可以轻松地控制事务的行为,而无需编写繁琐的事务管理代码。根据具体的需求,选择合适的方式进行事务管理。
2024-10-22 14:42:15
453
1
原创 Spring基于底层 API 的编程式管理和基于 TransactionTemplate 的编程式事务管理
基于底层 API 的管理:需要手动管理事务的开始、提交和回滚,适合复杂的事务控制。基于的管理:封装了事务操作,使代码更简洁,更易于维护,适合大多数场景。这两种方式都能有效地控制事务的行为,开发者可以根据具体需求选择合适的实现方式。
2024-10-22 14:39:04
240
原创 Java JVM(Java虚拟机)启动参数的设置
Java JVM(Java虚拟机)启动参数的设置对于优化Java应用程序的性能至关重要。这些参数可以分为标准参数、非标准参数(也称为-X参数)和非Stable参数(以-XX为前缀)。
2024-10-12 11:32:13
2468
1
原创 vue 脚手架 创建vue3项目
而是在当前项目进行 git commit 操作的时候,通过 githook,在 pre-commit 阶段执行 lint 和 fix 操作,自动帮我们把有语法错误的地方修改为符合规范。代码文件中有代码不符合 lint 规则时,会在 compile 阶段提示 warning。lint and fix on commit (用户提交代码到git时检查)选择配置文件(babel, EsLint等)存放的位置。选择配置模式:手动选择模式 (上下键+回车)选择配置(上下键+空格+回车)开始生成项目,等待·····
2024-04-30 17:55:44
528
原创 git 配置相关
指的是一种使用 EdDSA 签名算法(Edwards-curve Digital Signature Algorithm)的公钥加密算法,它是基于 Edwards 曲线的一种变种,具体来说是基于 Curve25519,由 Daniel J. Bernstein 等人设计。如果连接成功,通常会收到一条来自 Gitee 的欢迎信息或确认信息,表明你的 SSH 密钥已被接受,你已成功认证。是一个用于生成SSH密钥的工具,SSH(Secure Shell)是一种网络协议,用于加密方式远程登录和其他网络服务。
2024-04-30 14:59:04
1686
1
原创 AI导航工具
覆盖代码生成、研发知识问答、单元测试用例生成、代码解释、代码注释、代码翻译、代码调试、代码检查等八大研发场景。实时协作的智慧白板上,一键生成PPT、用AI协助创作思维导图、AI绘画、AI写作,共享资源素材。团队协作共享,企业知识库、AI文档分析、AI营销文案、AI文书写作等智能工具。智能纠错、文本补全、文本改写、文本扩写、词语推荐、句子推荐与生成等功能。阿里达摩院,提供模型探索体验、推理、训练、部署和应用的一站式服务。综合型AI:内容生成、文档分析、图像分析、图表制作、脑图……
2024-04-18 18:12:18
1347
原创 使用pdf表单域填充pdf内容
1、预先准备一个pdf模板,并在指定位置添加表单域。如果不知道如何添加表单域自行百度搜索。将制作好的pdf文件保存在指定目录下。图片中需要填充的地方颜色不一样就是添加了"表单域"。每一个表单域都一个名字,图片上是看不出来的。在编辑pdf添加表单域的时候就会有让修改,默认text1。
2024-03-27 17:37:15
884
原创 java.lang.NoClassDefFoundError: org/springframework/data/redis/connection/SubscriptionListener
报错如下图,从图中明显可以看到服务已经启动成功,测试redis链接,请求都是正常的。但在启动后有一次发布链接超时,从报错信息上看 是订阅读取超时。研究了一番,发现是包有冲突的问题导致的。将引用的包拆分,不在使用redisson-spring-boot-starter,redisson 这个包是我项目中通过redis的延时关单机制,使用到的。redis发布订阅只需要用到常规的spring-data-redis包。
2024-01-05 18:25:16
1710
原创 RSA公私钥加密逻辑
1、数字签名:使用发送方的密钥对,发送方用自己的私有密钥进行加签,接收方用发送方的公开密钥进行验签,是一对多的关系,任何拥有发送方公开密钥的人都可以验证数字签名的正确性。采用非对称密钥加密算法,保证发送信息的完整性、身份认证和不可否认性。2、数字加密:使用接收方的密钥对,是多对一的关系,任何知道接收方公开密钥的人都可以向接收方发送加密信息,只有唯一拥有接收方私有密钥的人才能对信息解密。采用对称密钥加密算法和非对称密钥加密算法相结合的方法,保证发送信息的保密性。
2023-12-27 13:47:52
668
原创 spirngboot项目 使用AOP限流用户单位时间请求接口次数
说明:使用AOP+redis 实现限制用户单位时间内多次访问接口,我这里使用参数中的userId(用户唯一标识),也可以通过IP或者其他参数来做限制。
2023-09-08 17:55:54
504
原创 Mybatis-Plus 3.5.1代码生成器生成多模块项目代码
MybatisPlus3.5.1版本将代码生成到不同模块下面,生产实战中方便使用。
2023-03-16 18:23:45
1829
2
原创 redis反序列化问题 missing type id property ‘@class‘
redis反序列化问题 com.fasterxml.jackson.databind.exc.InvalidTypeIdException: Missing type id when trying to resolve subtype of [simple type, class java.lang.Object]: missing type id property '@class'
2023-03-06 13:54:01
6728
原创 Xshell连接vm虚拟机 同时虚拟机访问外网
第一步:修改 网络适配器,网络连接 选择 NAT模式用于共享主机的IP地址。第二步:编辑——虚拟网络编辑——更改设置 按图示选择相应选项,修改配置,其实不需要修改,基本都是默认的。第四步:进入虚拟机,修改配置文件:vi/etc/sysconfig/network-scripts/ifcfg-ens*vi按Esc 键 输入:qw 保存 后,重启网卡 service network restart.这个时候就可以用xshell尝试...
2022-03-02 14:08:32
2745
1
转载 Java8 Stream 应用
public static void main(String[] args) { StreamTest test = new StreamTest(); test.streamTest19(); } /** * 提取/组合 * 流也可以进行合并、去重、限制、跳过等操作。 */ public void streamTest19() { String[] arr1 = { "a", "b", "c", "d.
2022-02-11 14:53:00
231
转载 redisTemplate 操作 HashOperations
/** * 从散列中删除给定的多个元素 * @param key 不能为null 散列的名称 * @param hashKeys 需要删除的keys集合 */ Long delete(H key, Object... hashKeys); /** * 判断散列中是否存在某个key */ Boolean hasKey(H key, Object hashKey); /** * 得到某个三散列中key的h.
2022-01-30 17:41:11
1369
转载 redisTemplate 操作 ZSetOperations
/** * 给有序集合添加一个指定分数的成员 如果成员存在则覆盖 * * @param key must not be {@literal null}. * @param score the score. * @param value the value. * @return */ Boolean add(K key, V value, double score); /** * 通过TypedTuple的方式.
2022-01-30 17:38:36
641
转载 redisTemplate 操作 SetOperations
/** * 给集合key添加多个值,集合不存在创建后再添加 * * @param key 不能为null * @param values * @return */ Long add(K key, V... values); /** * 移除集合中多个value值 * @param key 不能为null * @param values * @return */ Long .
2022-01-30 17:36:35
1247
转载 redisTemplate 操作 ListOperations
/** * 获取指定key的范围内的value值的 list列表。 (0 -1)反回所有值列表 * * @param key 不能为null * @param start 起始位置 * @param end 结束位置 * @return V的列表 */ List<V> range(K key, long start, long end); /** * 保留key指定范围内的列表值。其它的都删.
2022-01-30 17:35:15
1128
转载 redisTemplate 操作 ValueOperations
/** *设置 key 的值为 value *如果key不存在添加key 保存值为value *如果key存在则对value进行覆盖 */ void set(K key, V value); /** * 设置 key 的值为 value * 其它规则与 set(K key, V value)一样 * @param key 不能为空 * @param value 设置的值 * @param timeo...
2022-01-30 17:33:49
922
原创 spring boot 发送邮件(带附件) 字节流形式。
网上很多都是从本地服务目录读取文件进行发送,实际项目中可能需求不一样需要自定义附件内容。首先要添加依赖包:<dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-mail</artifactId></dependency>重点:将附件以字节流的形式发送。@Slf4j@Ser
2022-01-17 17:57:14
1788
转载 SPRING IOC和工厂模式的对比
@Servicepublic class TradeFactory { @Resource private Map<String, AbstractTradeHandler> tradeMap; /** * 获取交易服务 * @param beanName * @return */ public AbstractTradeHandler getTradeService(String beanName){ ...
2022-01-12 18:39:50
86
原创 IllegalReferenceCountException: refCnt: 0, decrement: 1
记录一次线上报错:IllegalReferenceCountException: refCnt: 0, decrement: 12021-12-28 16:00:46,606 [7c726af447480996-7c726af447480996] [reactor-http-epoll-8 ] WARN r.n.h.c.HttpClientConnect - [id: 0x2543b1a8, L:/192.168.0.1:123456- R:yuming.yuming.com/10.135.1.17
2021-12-28 17:05:02
3237
1
原创 You can‘t specify target table for update in FROM clause
记录今天执行SQL报错You can't specify target table 'l' for update in FROM clause意思是说:对同一张表不能查出某些值,在同时更新这张表的值,这样MySQL语法是不支持的。错误写法:UPDATE t_user lSET l.user_name = (SELECT t.user_name FROM t_user t), l.update_time = now()WHERE l.id = 'U0123456789';正确写法.
2021-12-06 19:34:06
2581
原创 spring cloud gateway [DataBufferLimitException: Exceeded limit on max bytes to buffer : 262144]
测试时报错:DataBufferLimitException:Exceeded limit on max bytes to buffer : 262144大概意思:数据缓存限制异常:超过缓冲区的最大字节限制:262144报错信息如下:org.springframework.core.io.buffer.DataBufferLimitException: Exceeded limit on max bytes to buffer : 262144 at org.springframework.
2021-07-29 16:52:24
3376
原创 AES加解密之ECB、CBC和CFB三种模式
import org.apache.commons.lang3.RandomStringUtils;import org.apache.tomcat.util.codec.binary.Base64;import javax.crypto.Cipher;import javax.crypto.spec.IvParameterSpec;import javax.crypto.spec.SecretKeySpec;/** * AEC加密工具类 */public class AesUtil .
2021-07-14 14:20:13
2901
原创 RedisUtils 工具类
import org.slf4j.Logger;import org.slf4j.LoggerFactory;import org.springframework.dao.DataAccessException;import org.springframework.data.redis.connection.RedisConnection;import org.springframework.data.redis.connection.ReturnType;import org.springfr.
2021-07-14 14:18:26
170
原创 ConnectionIsClosedException: No operations allowed after connection closed
### Error querying database. Cause: org.springframework.jdbc.CannotGetJdbcConnectionException: Failed to obtain JDBC Connection; nested exception is java.sql.SQLTransientConnectionException: HikariPool-1 - Connection is not available, request timed out a.
2021-06-15 10:57:41
3840
4
原创 HikariPool-1 - Driver does not support get/set network timeout for connections. (com.mysql.jdbc.JDBC
spring boot 2.x使用hikari数据源,在调用方法后启动数据时发现有个提醒信息奇怪,就是中间这行。2021-04-29 13:36:04.330 INFO 29552 --- [nio-8081-exec-1] com.zaxxer.hikari.HikariDataSource : HikariPool-1 - Starting...2021-04-29 13:36:04.465 INFO 29552 --- [nio-8081-exec-1] com.zaxxer.h...
2021-04-29 13:43:40
8211
1
原创 mybatis generator 代码生成
mybatis generator代码生成有五中方式,这里我们列出三种,重点说下其中两项常用的。第一种:使用命令行创建java -jar mybatis-generator-core-1.3.2.jar -config file generatorConfig.xml -overwrite第二种:通过MybatisGenerator类和配置文件生成代码package com.github.dao;import org.mybatis.generator.api.MyBatisGen.
2021-04-27 11:16:39
345
原创 Java 使用Thumbnails 等比例 base64压缩、旋转等处理图片
1、添加依赖<dependency> <groupId>net.coobird</groupId> <artifactId>thumbnailator</artifactId> <version>0.4.11</version></dependency>import lombok.extern.slf4j.Slf4j;import net.coobird.thumbnai.
2020-07-23 17:28:16
1939
3
原创 MySQLTransactionRollbackException: Lock wait timeout exceeded; try restarting transaction
运行应用程序出现以下报错,说明程序中之前的执行的语句有未提交的写操作,或者手动执行sql语句的时候没有commit,此时需要检查是否设置了自动提交,或者程序是否正常提交执行的sql.### Cause: com.mysql.cj.jdbc.exceptions.MySQLTransactionRollbackException: Lock wait timeout exceeded; try restarting transaction; Lock wait timeout exceeded; try
2020-07-07 15:52:20
716
原创 将数据库表的数据加载到内存中
Map<String, List<User>> config = new ConcurrentHashMap<>(100);List<User> list = new ArrayList<>(10);User bo1 = new User("A","1");User bo2 = new User("B","1");User bo3 = new User("C","1");User bo4 = new User("A","2");...
2020-05-20 19:00:19
2063
翻译 base64 图片压缩
@Slf4jpublic class ImageUtils { /** * 图片压缩处理 * @param origPicContent * @return */ public static String compressPic(String origPicContent) { ByteArrayInputStream i...
2020-05-08 10:06:48
259
原创 java.net.SocketException: Broken pipe
测试环境没有报错,生产环境每天都有几条这样的报错,网上查了好多资料,翻译成中文大概意思是 Broken pipe(“管道破裂”)错误原因说明:1)broken pipe的字面意思是“管道破裂”。broken pip的原因是该管道的读端被关闭。2)broken pipe经常发生socket关闭之后(或者其他的描述符关闭之后)的write操作中。3)发生broken pipe错误时,进...
2020-05-07 16:04:58
20438
原创 java 利用注解及反射做通用的入参校验
类import lombok.Getter;import lombok.Setter;import lombok.ToString;import javax.validation.constraints.*;import java.io.Serializable;@Getter@Setter@ToStringpublic class User implements S...
2020-04-27 14:53:19
329
1
转载 spring aop 配置注解 切入点说明
转载链接:https://www.cnblogs.com/junzi2099/p/8274813.html基于注解的Spring AOP开发简单案例快速入门定义目标类接口和实现类/** * Created by zejian on 2017/2/19.*/ //接口类public interface UserDao { int addUser();...
2020-01-17 17:56:27
1489
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人