spring
文章平均质量分 61
185的阿平
集中起来的力量可以击穿顽石
展开
-
性能爆炸!SXSSFWorkbook原文件上追加写入&分页导出
以上工具类里提供的都是一次性导出的方法。那如果说需要多次导出咋整呢。说实话,支付系统里头最头痛的就是导出大数据量,性能瓶颈第一卡在数据库资源,第二卡在poi性能。以上方法都是经过系统测试的,用于记录自己遇到的问题,如果你也遇到并且有疑问欢迎留言解答。原创 2024-04-01 16:07:33 · 1001 阅读 · 4 评论 -
mybatis流式游标查询-导出DB大数据量查询OOM问题
Service层—需注意加上事务注解表示该service并不是在mapper结束时结束事务,而是等整个service结束才结束事务,不然会出现只能读取到第一段游标的结果集。客户端而言,数据每次读取都是从本机器的内核缓冲区,所以性能会更快一些,一般情况不必担心本机内核无数据消费(除非。服务端传递来的数据,在客户端不做任何业务逻辑,拿到数据直接放弃,会发生客户端消费比服务端超前的情况)流式查询,将结果集一条一条的拉取进内存,比较依赖网络,可能会造成网络阻塞。弊端就显而易见了,如果查询数据量过大,会不断经历。原创 2024-04-01 15:39:38 · 1126 阅读 · 0 评论 -
NoClassDefFoundError:Could not initialize class com.sun.proxy.$Proxy65
Could not initialize class com.sun.proxy.$Proxy65原创 2023-07-03 15:35:04 · 437 阅读 · 0 评论 -
Mybatis流式游标查询-大数据DB查询OOM查询问题
mybatis大数据查询解决方案原创 2023-02-15 17:33:55 · 2942 阅读 · 0 评论 -
SpringSecurity实现统一登录
场景:A服务器的平台需要跳转B服务器的平台,中间通过一个链接把A平台的身份信息带入,直接进入B平台做校验,实现到B平台的免登陆流程。实现思路:对跳转的url路径做Filter过滤,Filter里写具体实现逻辑。总结一下用SRT实现的流程。需要实现的三个核心类SecurityConfigurerAdapter //定义的配置信息AuthenticationProvider //核心处理器AbstractAuthenticationProcessingFilter //核心过滤器上.原创 2021-09-01 10:48:25 · 622 阅读 · 0 评论 -
实现ResponseBodyAdvice接口进行返回报文封装(脱敏)
今收到需求需要对所有接口的返回报文中含有敏感信息的字段进行加密处理,大概有100多个接口。肯定会优先想到用AOP切面实现。但AOP里头只能用环绕通知去实现,像后置及后置返回通知都是在方法执行后的通知(后置无法收到返回报文,后置返回可收到但是已返回到前端)显然不合适。环绕通知用过的话其实会发现有点性能问题。并且对于它是可以影响原来的返回格式的。所以用一种新的方式去实现,使用ResponseBodyAdvice实现。基本API用法很简单,本文嵌入了一些业务逻辑及设计思路。需求有7类场景进行脱敏,每个场景不同原创 2021-07-30 16:11:03 · 1205 阅读 · 1 评论 -
java根据模板生成word文件
准备word模板,将里面需要写入的内容以${变量名}形式表现。如图保存word。另存为xml格式文件。将model.xml更改后缀名改为model.ftl。这个文件我存在在E盘的根目录。等下需要加载该文件,所以文件路径尽量不要带中文。代码工作,首先引入依赖<dependency> <groupId>org.freemarker</groupId> <artifactId>freemarker</artifa.原创 2020-11-20 11:40:56 · 529 阅读 · 0 评论 -
@Async失效及Spring循环依赖报错问题分析
今日写代码发现了@Async注解的方法放在@Service的类中,不能异步执行。于是排查找了下原因。我是直接在类中定义了一个异步方法。然后直接在该类中的其他方法调用。问题分析:跟spring注册bean的过程有很大关系,首先调用这个方法如果不是静态类的,肯定是有个隐式对象去调用。在这个类中(命名为A,实例对象为a)。则应该是a.issueRecharge()方法调用,这里的a其实就是spring管理的一个bean。相当于A类在spring容器初始化加载在设置属性是要把a设置进去,自己依赖自己就是原创 2020-11-18 15:54:42 · 700 阅读 · 0 评论