- 博客(36)
- 问答 (2)
- 收藏
- 关注

原创 不看代码!一分钟理解Spring如何解决循环依赖
当多个Bean互相依赖时@Component@Autowired@Component@AutowiredA的实例化需要B,B的实例化又需要有A,就好像先有鸡还是先有蛋一样,形成了循环的依赖关系。
2025-01-17 23:40:06
1094

原创 【Content type ‘‘ not supported】的原因和解决办法
axios框架中,没有请求体的时候,就不会携带Content-Type
2024-08-29 23:25:07
1137
原创 kettle的转换中sql不按设计顺序执行原因分析与解决办法
节点,实现数据从表到表的迁移。转换中不需要起始节点,没有箭头的节点都是并发执行的,转换中的箭头用于控制数据的流向,而不是执行的顺序。如图,通过箭头指定多个SQL脚本的先后顺序,实际各个sql没有阻塞,没有等待,几乎是并行,与预期不符。用于控制节点的顺序,需要起始节点与结束节点,其箭头才是真正控制执行顺序的。作业和转换中都有SQL控件,用作业实现SQL顺序的控制。用于控制数据的流量,比如。
2025-03-14 18:03:43
432
原创 DB2 字符串比较 (= 或 IN) 时,忽略末尾的空格踩坑与解决方法
DB2 的 VARCHAR 比较会忽略尾部空格,符合 ANSI SQL 标准。如果需要精确匹配,可以使用LENGTH()来避免匹配到带空格的值。与 Oracle、MySQL、SQL Server 不同,它们默认是严格匹配 VARCHAR 的末尾空格。
2025-03-13 20:00:42
304
原创 JAVA泛型介绍与举例
Java中,泛型用于编译阶段限制集合中元素的类型,或者限制类中某个属性的类型,编译过程中发生类型擦除,最终还是Object类型。
2025-02-13 18:40:24
448
原创 Pentaho Kettle表输入控件别名不生效解决办法
通过预览发现,kettle将同一个字段的多次查询,没有使用指定的别名,而是在原字段名后拼接序号_1,导致新老表字段无法成功映射。再查出一次,作为更新日期,用于目标表使用,如下图。对原字段进行一个不影响结果的运算,如拼接空字符串。这里的迁移需求是,将原表的操作日期。
2025-02-13 16:50:18
258
原创 FeignClient报错Method has too many Body parameters解决办法
SpringMVC 默认是URL传参,参数没指定@RequestParam或@RequestBody时,默认是@RequestParam,而 Feign 中相反,默认是@RequestBody,在 Feign 的接口中,@RequestParam 不能省略,必须使用 @RequestParam 来明确指定 URL 查询参数。原来以为 feignClient 的接口与 Controller 的接口完全相同,复制就可以了,如。Controller中接口定义如下。则对应的 Feign 就是。
2025-02-12 14:21:45
416
原创 浅谈volatile和synchronized和CAS和AQS的关系
AQS的性能较好,JUC中提供的ReentrantLock、ReentrantReadWriteLock、Semaphore、CountDownLatch、CyclicBarrier等锁,都是基于AQS实现的。在Java并发编程中,volatile、synchronized、CAS和AQS都是用于保证线程安全和同步的机制。
2025-01-19 13:01:20
236
原创 简单介绍OAuth2实现第三方登录的流程
然后为该应用配置回调地址redirect_uri,redirect_uri不是直接给OAuth2授权服务器使用,而是客户得到授权码后,自己请求后端应用使用的,后端服务需要开发redirect_uri接口。一个应用可以配置多个redirect_uri,用于OAuth2授权成功后客户端的回调,实际请求时,只有配置中的redirect_uri才能成功授权,避免非法的回调地址获取授权码,进而非法获取用户信息。:应用的密钥,通常用于对API请求进行签名或加密,用来验证请求的安全性和合法性,是绝对不允许泄露的。
2025-01-19 12:50:54
301
原创 Pentaho Kettle表输出控件“开始复制的数量”>1,导致数据重复【已解决】
正在处理的迁移需求是,将一张表的数据完整导出到两张表中,因为数据量较大,每个表输出转换控件又修改了“复制的数量”这一参数,可以理解为线程数。运行转换脚本,报错:同样的数据被插入多次,违反目标表的唯一约束,当“复制的数量”>1就会出现该问题。
2025-01-03 11:16:19
494
原创 Usage of API documented as @since 9+【解决办法】理解<maven.compiler.source>和<maven.compiler.target>
:指定代码编写时使用的 Java 语法版本。:指定生成的.class 文件的字节码版本,即代码运行时的 JVM 版本。
2025-01-02 19:37:51
669
原创 Pentaho Kettle迁移至Oracle的空字符串和NULL的问题处理,大坑!
在多数的数据库中,空字符串和 NULL 通常是不同的,空字符串视为一个合法的值(表示长度为 0 的字符串), NULL 则表示未知或缺失的值。然而Oracle数据库采用了一种不同的设计思想:它认为“没有内容”与“未知内容”没有实际差异,所以它将两者视为相同。Oracle:空字符串 ‘’ 被视为 NULL,它们是相同的。:空字符串 ‘’ 是有效的,并且与 NULL 不同。
2025-01-02 14:55:12
618
原创 Oracle数据库日期格式化字符串踩坑
oracle数据库的日期格式模板,不区分大小写HH与hh相同,都表示12小时格式MM与mm相同,都表示月份24小时使用hh24或HH24分钟使用mi或MI
2024-12-21 14:47:21
524
原创 Springboot访问到Controller中不存在的接口BUG
开始扒代码,结果根本就没在Controller中找到该接口,反复确认了很多遍端口号和接口URI,依然没能找到。遇到一个离谱的BUG,开发测试过程中,发现一个api的响应不满足预期。最后根据日志中的类名全局搜索,才发现是依赖中的接口。
2024-12-20 13:29:43
544
原创 SpringMVC的URL组成,以及URI中对/斜杠的处理,解决IllegalStateException: Ambiguous mapping
ip + 端口号 + 上下文 + 类上的@RequestMapping的URI + 方法上的@RequestMapping的URI
2024-12-19 19:41:48
655
原创 @Mapper和@Repository的区别和关系,IDEA爆红Could not autowire. No beans of ‘xxxMapper‘ type found.解决方法
使用@MapperScan时,IDEA无法识别@MapperScan指定的包扫描路径下的接口,尝试注入时,IDEA认为这个Mapper不存在于容器中,故警告爆红。使用了@MapperScan,已经能将该接口注册到容器中了,实际@Repository没实际作用,只是告诉IDEA,该接口已经注册到容器中了。在SpringBoot和Mybatis项目中,用两种方式为Mapper接口生成动态代理并注册到容器中,推荐使用第一种方法。可以调整警告等级,或直接取消勾选关闭检查。,实际是不影响启动的。
2024-12-05 15:56:53
230
原创 MySQL的innodb表批量插入数据时,自增主键不连续原因和解决办法
在mysql中造测试数据时,出现了主键不连续的情况5,10,11,12 丢失了。
2024-12-01 18:29:31
697
原创 JDBC使用p6spy记录实际执行SQL方法【解决SQL打印两次问题】
p6spy 是一个开源的 JDBC 数据源代理工具,主要用于拦截和记录应用程序与数据库之间的所有 SQL 操作,方便开发者进行 SQL 调试、性能监控和问题排查。可以在控制台打印实际执行的sql,可以和Mybatis等框架配合,在开发过程中方便调试。
2024-11-20 11:34:37
790
原创 ORA-01461: 仅能绑定要插入 LONG 列的 LONG 值。ojdbc8版本23.2.0.0驱动BUG【已解决】
JDK8使用ojdbc8驱动操作oracle11g数据库,使用JDBC复用 PreparedStatement 对象执行Insert操作时,报错,经测试发现,是预编译对象某个占位符号被赋值为NULL后,再次尝试赋值为2个汉字,执行时就会报错。
2024-11-18 19:50:53
811
原创 WebStorm用Debug模式调试Vue等前端项目
非常的麻烦,而且浏览器中对变量的追踪功能也有限,同时我也一直好奇WebStorm中Debug启动方式的作用,今天研究了一下,果然WebStorm提供了更简单的方法,记录一下。涉及到稍复杂的逻辑,就需要在代码中侵入增加debugger,或者在浏览器中找到js文件,再手动添加断点。调试前端代码,一直很苦恼调试前端代码的麻烦。在控制台打印变量值,来验证预期结果。命令的作用是关闭浏览器的跨域限制。
2024-09-05 16:35:20
1487
3
原创 PLSQL使用ODBC导入EXCEL时DSN没有下拉可选项【OFFICE版本问题】
因为我是64位系统,PLSQL是64位,而安装的office是32位的,更换OFFICE版本为64位后成功解决。打开word或excel或ppt等office格式文件,左上角"文件"->“账户”->“关于”网上对这个问题的解决办法有好多,都是在odbcad32.exe中添加excel的DSN。试了好多次都不行,也换过PLSQL版本,
2024-08-08 11:06:05
952
原创 JetBrain系列IDE左边Git Annotations功能介绍
Git Annotation记录了这行文本上次的修改人与修改时间,点击可以跳转到对应的提交记录。在IDE行号处右键,可以打开或者关闭git annotations。
2024-07-28 17:02:08
316
原创 MybatisPlus的mapper.update(entity,wrapper)方法第一个参数的作用
mapper的update方法已经能实现更新的功能,第一个参数的作用是默认赋值,减少wrapper.set,实体类属性值的优先级是高于wrapper.set的,代码如下。
2024-05-11 09:57:02
1704
原创 Java排序规则与Excel排序不一致踩坑
Collections.sort默认是根据unicode码值排序,不一定与日常使用的排序规则相同,比如"好hao"会排在“笔bi”前,不符合拼音排序规则。这里的Collator.getInstance()只是举例,具体有多种排序规则;
2024-05-10 00:07:24
255
原创 ORACLE中 使用order by与rownum排序造成分页查询结果不正确mybatis
使用mybatis分页查询oracle数据库时,同时使用了order by和rownum,多个分页结果相同oracle版本11.2.0.4.0。
2024-03-26 09:30:52
611
原创 自定义starter出现Unable to read meta-data for class
使用阿里云生成的SpringBoot项目,自动添加了打包插件。该插件会在打包时将项目代码和依赖打包到BOOT-INF中。删除打包插件重新clean install。
2023-02-23 00:17:19
662
原创 uncaught exception: TypeError: db.hello.drop is not a function :
集合名为hello时出现这个问题,换别的名字正常,原因未知,db version v5.0.5。mongodb集合删除失败。
2022-12-25 22:47:01
357
1
原创 IntelliJ IDEA 2021/2022关闭双击shift全局搜索,Ctrl+Shift+f全局搜索失效解决
ctrl+shift+alt+/,打开Registry,搜索idea.suppress.double.click.handler并勾选。修改完成后若要继续使用全局搜索功能,在keymap中自定义Search Everywhere,这里我设置的是Ctrl+Shift+F。IDEA 默认双击shift全局搜索,在切换输入法时,很容易误触该快捷键,发帖记录一下解决办法。
2022-09-13 23:12:28
2941
原创 取cookie时报错“[object Object]“ is not valid JSON
做谷粒学苑项目时,在保存登录状态环节出现该问题取cookie时老师强调要使用JSON.pase()解析cookie为json对象// 把字符串转换json对象(js对象) if(userStr) {}但保存时老师是直接保存的,代码如下,我用同样的代码就会出现标题中的问题,不知道是不是插件版本原因//获取返回用户信息,放到cookie里面 cookie . set('guli_ucenter' , this . loginInfo , {
2022-09-09 18:09:33
15676
10
原创 /resty/redis.lua:166: bad request stack traceback:
要避免resty.redis在 Lua 模块级别共享对象,因为此类数据在所有并发请求之间共享。在业务lua文件中进行redis连接池初始化就解决了。
2022-08-09 21:40:36
541
1
原创 [ES exception [type=mapper_parsing_exception, reason=Failed to parse mapping [properties]解决办法
[Elasticsearch exception [type=mapper_parsing_exception, reason=Failed to parse mapping [properties]: Root mapping definition has unsupported parameters解决方法
2022-07-09 23:02:34
2595
5
原创 Can not set java.util.Date field *** to java.time.LocalDateTime解决办法
Can not set java.util.Date field *** to java.time.LocalDateTime解决办法
2022-06-22 10:20:28
7406
3
空空如也
双重令牌的意义是什么
2024-05-09
RabbitMQ中mandatory和publisher-return的区别是什么
2023-02-02
MybatisPlus更新失败
2023-01-01
maven管理ES版本不生效
2022-09-30
key足够多的时候,布隆数组会不会失效
2022-08-10
TA创建的收藏夹 TA关注的收藏夹
TA关注的人