![](https://img-blog.csdnimg.cn/direct/deb3f12fb7614da29b776058bedf85fd.jpeg?x-oss-process=image/resize,m_fixed,h_224,w_224)
Java开发问题记录
文章平均质量分 74
记录开发中遇到的问题以及解决过程
拙野
只追求质量,不追求数量。不糊弄别人就是不糊弄自己!
展开
-
AbstractRoutingDataSource实现多数据源切换以及事务中无法切换问题
为了实现数据源的动态切换,我们采用了AbstractRoutingDataSource结合AOP+反射来自定义注解。通过这种机制,我们可以在运行时根据自定义注解自动选择不同的数据源,从而实现灵活高效的数据访问策略。具体来说,我们首先创建了一个继承自AbstractRoutingDataSource的动态数据源类,该类能够管理多个数据源并根据线程上下文中的特定键值来选择使用哪一个数据源。接着,我们定义了一个自定义注解,用于标记需要切换数据源的方法或类。原创 2024-04-25 22:40:53 · 1724 阅读 · 8 评论 -
SpringBoot项目配置文件不生效问题解决
而pom类型通常用于组织和管理多个模块的项目,它本身不包含代码,只包含项目的配置信息和依赖关系。所以,它也就不会去寻找配置文件。一般我们使用pom都是在项目聚合的时候,父工程的pom文件里面使用。比如,我这个包含两个服务的RabbitMQ使用的demon。原创 2024-03-23 00:12:41 · 1532 阅读 · 8 评论 -
移动端和web端等多端重复提交问题解决
最近,在搞移动端接口开发。因为,移动端和web端是共用同一套接口,当移动端和web端在同时打开一个表单提交页面的时候,两者不管谁先提交,后者都能够再次提交,这就造成了重复提交的问题,导致数据重复或者错乱。一般情况下,防止重复提交的方式如下:1、前端控制,即提交按钮只能点击一次,点击后,提交按钮便置灰,不允许再次点击。2、数据库层面控制,这就需要想出满足业务需求的唯一索引约束,比如注册的手机号唯一。原创 2023-10-17 19:00:47 · 381 阅读 · 2 评论 -
mybatis中一对多分页查询结果异常问题解决
这样虽然映射的时候可以一对多的映射,但是,调用查询sql方法getInWarehouse的时候,返回的结果如果入库单关联了两个设备,就会返回两条记录。更详细的说,就是原本是个入库单列表分页查询接口,现在需要在这个接口上面返回入库单关联的入库设备的信息。突然,想起来了,写代码的这个同事,上次就因为没有把目标分页的sql查询作为PageHelper.startPage()方法后第一个查询语句,导致分页出错。前端调试的时候分页查询的时候,传的pageSize是15,但是当前页展示的却只有11条记录。原创 2024-02-20 18:38:41 · 2288 阅读 · 10 评论 -
Java服务突然无法启动的灵异事件处理
这个意思就是我在注入String类,但是从spring的bena容器里面却找不到。开什么国际玩笑,String类是jdk自带的类,我怎么会注入String?今天是个好日子,又是crud的一天,简简单单几个接口,写完就可以划水啦。然而,不出意外的话,就要出意外了。接口写完了,服务起不起来了。哎哟,我去,又要给我搞事情。事到如今,看来不能病急乱投医了,只能冷静、冷静,再冷静。往这个方法上面一看,我去,我什么时候在这个方法上面加了个@Autowired这个注解。结果还是一样的错误,一样的无法启动!原创 2023-11-24 23:53:50 · 594 阅读 · 0 评论 -
Java接口接收前端传参的字段类型为基本数据类型造成的异常解决
因为业务需求的需要,就新增了一个查询字段id,也就是根据id来筛选出列表中需要的数据。由于接口层代码,并没有什么逻辑处理,都是直接调用的业务层代码,所以就直接再业务层的第一行代码打了个断点,再次用postman测试。通过源码,可以得知:当我们在使用Long的自动拆箱的时候,返回的就是包装类Long的属性value。至此,我们知道原因所在之后,便可以把所有使用id字段的参数都改成使用包装类Long,便可。突然灵光闪现,我的业务层方法,这里接收的参数id还是使用的基本数据类型long。原创 2023-11-24 23:54:56 · 680 阅读 · 0 评论 -
mybatis在使用in条件传参,查询出来的结果缺少问题解决
这里用的竟然是“#”,如果用#{xxx},mybatis会把他当做一个字符串,并且只会当他是一个值,而且只会按第一个值来查询,即“985”这个值来查询,所以查询出来的是满足equip_type_model_id=985的记录,而满足这一条件的也就是三条记录。打开数据库,查看了一下表里面的空调数量是正确的,和对接的平台的数量是一样的。经过对查询空调信息接口的调试,发现在查询分组的时候只查询到了三个分组,正常应该是有五个分组的。bug大概就是,前端页面展示的空调数量比所对接的平台上的空调数量少了两台。原创 2023-11-02 19:28:28 · 682 阅读 · 6 评论 -
Idea中maven突然不见了、pom.xml文件也变红未被识别问题解决
在一切都如往常一样,在写新需求和改leader提出的bug来回切换的过程中。我的右侧maven工具栏没了,pom.xml也爆红了,变成了未被maven识别的状态。日常惊喜,日常的让我懵逼。难道是maven配置有问题?迅速打开settings。我丢,这里maven也不见了。这点意外,怎么能难倒我!自信的鼠标右击爆红的pom文件。我丢,添加成为maven文件的选项怎么没了。大脑飞速旋转,难道是maven插件没了?果然,是这个原因,maven插件没有勾选!勾选,重启idea,一切都恢复了正常。原创 2023-11-02 19:29:09 · 2929 阅读 · 3 评论 -
Feign调用微服务接口405异常解决
继续百度,好像百度不到。没事,咱还有chatjpt,经过询问chatgpt得知,feign默认使用Spring的编码器来序列化请求参数,而Spring的编码器需要明确指定参数名称才能正确地将参数序列化成URL参数。经过百度查询,才发现原来在使用feign进行微服务之间远程调用的时候,需要加入相关的注解,@PathVariable:和路径变量传参进行绑定,@RequestParam:和传的参数进行绑定;为了验证,新的独立出来的消息服务能否被其他服务正常调用,就写了个测试接口,主要就是测试a服务调用消息服务。原创 2023-10-23 17:57:32 · 443 阅读 · 0 评论 -
PageHelper设置pageSize失效问题解决
该问题主要就是,同事写了一个查询关联设备的接口,在增加入库记录点击添加设备的时候,能够正确的分页查询到设备信息,而在出库的时候,分页查询却无效,返回的是全部设备记录。当时是很纳闷,同一个接口,就是传了不一样的操作类型,怎么就会一个分页正常,一个分页无效呢。但是,打开控制台看了下,返回结果确实是全部的结果,分页参数确实是不起作用,无效的。对,就是在进行出库操作的时候,他有两个查询sql。首先,把这个代码贴出来,看看有没有聪明的能够,提前发现问题在哪。但是,在这里,他需要分页的查询对象是第二个查询语句。原创 2023-10-20 15:21:28 · 1124 阅读 · 0 评论