Spring boot 2.5.3 打包后运行报错:循环依赖

这是一个比较奇怪的报错情况,在另外一台 windows11 笔记本上打包出来,运行未发现异常;但在 MacBook 上打包出来,运行就会报循环依赖的错误。在 MacBook 上打包后使用本地配置运行依然抱错,排除了配置环境的问题。看了一下两个类,例如 A,B。A、B 都是 @service,B 中使用 @Autowired 注解注入了 A,但 A 中只是定义了私有的最终的 B 类字段,除了 A 类

Springboot2 物联网服务对接 MQTT 协议问题归纳

接触一个新的知识点首先遇到困难就是各种名词,不熟悉,不理解,让人头大。当我遇到 MQTT 协议,第一冒出来的问题是 RabbitMQ 与这个 MQTT 有什么关系?原项目中使用了 RabbitMQ 来处理消息,而物联网服务根本也是处理各种消息。尤其是当我百度这两者之间的关系时,更矛盾了。甚至有文章提供 rabbitmq 使用 mqtt 协议 的教程。网上摘取一些区别解释:MQTT 是一个非常简洁的

mybatis-plus 查询一条记录

首先注入 mapper 服务实现类,看到原来的写法:QueryWrapper queryWrapper = new QueryWrapper(); queryWrapper.eq("aaa", "bbb"); routeService.list(queryWrapper).get(0)然后莫名觉得为什么不直接使用 getOne() 呢,这样不是更明了吗?在没

30岁相亲“男”

给一位儿时伙伴朋友圈点赞,不知为何发送了一个拍了对方一下的互动。想着对方晒的全家福不禁恭喜了几句,并表示羡慕。然后就聊了起来,聊到自己的境况,好哥们提议给我介绍对象。本就被相亲摁在地上已经服软的我同意了。好哥们确实挺热心的,小时候玩的非常好。当时在大人眼里不太看好的婚姻,到如今儿子都大了。之前也曾帮我介绍过一位在魔都打拼的同乡姑娘,非常孝顺,也很热情体贴,聊得也非常好。但因为我个人心理问题,加上一

RestTemplate.exchange无法正常工作,参数传递失败

一开始使用的是 HashMap 参考原来写的添加参数:Map<String, Object> paramMap = new HashMap<>(); paramMap.put(key, value);后来发现请求的另一个服务通过 @RequestParam 并不能获取到参数,还会报错。添加 @RequestParam(required = false) 是可以不报错,但参数

java fastjson 使用 JSON.parse 后数据顺序发生了变化

按照接口要求创建了返回类,然后通过 @RestController 直接输出 JSON 格式数据。要求返回类中每一个属性都要按照对方文档里指定的顺序返回,在类中调整了各个属性顺序,返回顺序一致了。之后要从另外一个服务中拿数据再返回:ResponseEntity<String> responseEntity = restTemplate.exchange(url, httpMethod,

spring boot2 项目配置系统变量方法

第一种最直接,再 yml 或 properties 配置文件中定义,然后通过 @Value 注入到需要使用的 @Component。 @Value("#{${mqtt.upgrade}}") private Map<String, String> mqttUpgrade;上面的例子是在正常获取配置值 ${} 外面增加了 #{},表示可执行的语句,可以将

mysql 插入中文报错:incorrect string value for column

分别检查数据库、表和字段的字符集编码及排序规则:前两者都为 utf8 或 utf8mb4(支持二进制存储,表情包存储)数据库字符集使用 utf8mb4表字符集使用 utf8mb4最后一个字段的字符集为 latin 之类的,但观察了以下,发现所有表的字段字符集都是这个,这意味着如果要让之后不再报这个错误,需要修改所有的字段的字符集。网上找了一个 修改所有字段字符集 sql :-- 查看某个数据库的表

@Autowired 对象注入失败的问题

遇到的场景:netty 中初始化 mqtt 服务,添加处理器时,默认使用的是 new MstMqttSocketHandler() 返回处理器。if (isMqttRequest(msgBody)) { pipeline.addLast("mqttDecoder", new MqttDecoder()) .addLast(MqttEncoder.