- 博客(33)
- 收藏
- 关注
原创 在java中使用RabbitMQ的步骤
这个配置需要被扫描到,如果抽取出来配置在父类包中,包名不一样,微服务程序启动时候无法正常扫描到;新建listener包,使用@RabbitListener注解监听消息,而其中的业务代码,是从原来的程序中,将同步调用,修改为基于MQ发消息的模式调用。将直接调用微服务,修改为向微服务发送消息,发送的消息需要带有必要的参数,参数包含在message中.交换机默认类型是direct,默认持久化,这两个参数为设置,采用默认值;消息转换器在发送方和消费方都需要,可以直接在共同的父类包中配置,
2025-03-12 15:33:39
383
原创 引入的依赖和实际编译的依赖版本不一致
在service包中使用minio时,java程序中引入了minio的8.4.3版本的依赖,同时引入了okhttp的4.8.1版本的依赖,因为minio中自动依赖了okhttp3的依赖,但是版本较低,把minio中的依赖排除。推测是第一次程序运行时未将minio中的okhttp排除,api包编译的是3.14.4版本,service修改后,api中的包未清理,使用lifecycle中的clean并不能将已经添加的依赖清理掉;api中依赖的service如下。初步分析时依赖版本冲突。
2025-03-05 10:52:03
322
原创 Error creating bean with name ‘configurationPropertiesBeans‘ defined in class path resource
在网上查找了一下,是springboot版本和springcloud版本冲突导致的,但是这并不是第一个模块,之前的几个模块可以正常运行,并且版本是在父工程定义的,版本是能对应的.重新检查gateway的pom文件,发现在<properties/>标签中还定义有springboot的版本,且与父工程中的版本不一致,将这部分代码注销,就可以正常运行了。这部分内容在父工程都已经定义了,将这部分直接删除.
2025-02-24 21:55:25
207
原创 Field ‘id‘ doesn‘t have a default value
2.项目时采用mybatisPlus操作数据库,报异常的数据库和另外一个数据库关联,主键ID和另外一个数据库相同,通过读取另外一个数据库的ID获得。3.通过查找,发现是PO类的ID策略有误,采用mybatisPlus生成的po类,默认是自增长ID。在测试单元内单独向该数据库插入数据,报同样的异常,确定了异常的定位。而实际上是通过给id赋值得到主键ID,将id增长策略修改为NONE。1.程序测试时,运行到向数据库插入数据时,报以下异常。再测试已经可以向数据库正常插入数据。
2025-02-16 23:17:52
368
原创 Caused by: org.springframework.beans.factory.UnsatisfiedDependencyException解决办法
核对了这些都没有发现问题,只好一个文件一个文件的核对,发现在config下的配置文件中报错了,这个是分页查询配置文件,之前一直检查的是controller层service层dao层,没有检查这里,所以迟迟未发现问题.这里应该是system,在一开始建包的时候写错了,后来发现错误又全部修改了,修改遗漏导致的.这里修改以后就能正常启动了.检查了controller,service和mapper,均未发现有问题,核对了依赖也未发现依赖冲突。在编写完一个功能后,第一次启动这个模块的启动类时,报以下错误,
2025-02-07 23:38:18
788
原创 采用idea中的HTTP Client插件测试
1.采用idea中的HTTP Client插件进行接口测试,好处是不用打开post/swagger等多个软件,并且可以保存测试时的参数,方便后续继续使用.高版本的idea一般都自带这个插件,如果没有也可以单独安装.发现仍然可以使用HTTP Client进行测试,复现失败,暂且几下,后面如果再出现相同情况再回来解决.再重新启动程序,可以使用HTTP Client插件正常测试了。需要注意json数据的大括号和前面的数据要空一行;而在使用swagger测试,能正常查询到结果。把数据库配置文件刚才添加的参数删除。
2025-02-07 15:43:41
1084
原创 依赖版本冲突导致微服务项目启动失败解决方法
mybatis-plus间接依赖了mybatis-spring2.0.5版本,我在api中又添加了mybatis-spring3.0.4版本,导致版本冲突,把单独的mybatis-spring版本同样修改位2.0.5,再重新clean并启动,终于启动成功了.在项目前期调试成功,api的启动类可以正常启动,并可以访问,但是扩展了一部分代码,添加了model类,并编写了第一个controller,再次启动时发现无法正常启动。在maven控制台,将所有模块clean并重新install,仍然无法启动;
2025-02-06 22:41:13
418
原创 log4j2日志配置文件
log4j2配置文件每个项目都会用到,记录一个比较好用的配置文件,方便以后使用时调取,日志输出级别为debug,也可以修改。
2025-02-05 21:50:06
814
原创 bootstrap.yml文件未自动加载问题解决方案
查了一些资料,是缺少bootstrap相关依赖,虽然已经添加了spring-cloud-context依赖,但是这个依赖并未引入bootstrap依赖,可能是版本问题,需要手动引入。需要注意的是,bootstrap依赖需要注明版本,不然无法自动下载,也可能是有的工程已经在父工程中统一设置了依赖版本,我在这里耽搁了很久.引入这个依赖以后,bootstrap.yml配置文件就自动扫描到了,图标也发生了变化。
2025-02-04 00:11:02
447
原创 使用mybatisPlus插件生成代码步骤及注意事项
使用mybatisPlus插件可以很方便的生成与数据库对应的PO对象,以及对应的controller、service、ImplService、mapper代码,生成这种代码的方式有很多,包括mybatis-plus提供的代码生成器,以及idea提供的代码生成器,无论哪一种只要掌握了方法并熟练操作,都可以达到相同的效果,这里介绍采用mybatisPlus插件自动生成代码。
2025-02-03 16:52:32
798
原创 maven构件子模块步骤及注意事项
父工程可以是顶级父工程,也可以是在父工程下,父工程的packaging需要设置为pom;父工程下的子级父工程,主要作用是模块聚合,即继承父工程和modules聚合,没有src文件,pom文件也不做依赖版本控制。
2025-02-01 12:36:11
603
原创 设计4个线程,其中两个线程每次对j增加1,另外两个线程对j每次减少1,写出程序。
【代码】设计4个线程,其中两个线程每次对j增加1,另外两个线程对j每次减少1
2025-01-14 22:21:06
215
原创 快速创建一个vue项目
回车后会自动创建一个新的vue项目,其中vue-demo为项目名称,由小写字母和连接线组成,不包括大写字母;b)在终端位置输入命令:npm run serve,就可以将项目运行起来。在浏览器中输入以下网址中的任意一个,就可访问运行起来的vue项目展示界面。a)在终端位置输入命令:cd vue-demo,进入vue项目的目录。
2024-12-12 15:54:23
252
原创 MySQL六:SQL优化、视图、存储过程
视图(View)是一种虚拟存在的表。视图中的数据并不在数据库中实际存在,行和列数据来自定义视图的查询中使用的表,并且是在使用视图时动态生成的。通俗的讲,视图只保存了查询的SQL逻辑,不保存查询结果(没有保存这张表,虚拟表)。所以我们在创建视图的时候,主要的工作就落在创建这条SQL查询语句上。存储过程是事先经过编译并存储在数据库中的一段 SQL 语句的集合,调用存储过程可以简化应用开发人员的很多工作,减少数据在数据库和应用服务器之间的传输,对于提高数据处理的效率是有好处的。
2024-12-07 22:15:21
2042
原创 MySQL五:索引
索引(index)是帮助MySQL高效获取数据的数据结构(有序)。在数据之外,数据库系统还维护着满足特定查找算法的数据结构,这些数据结构以某种方式引用(指向)数据, 这样就可以在这些数据结构上实现高级查找算法,这种数据结构就是索引。如果没有索引,在查询时采用全表扫描,性能极低;备注:上述二叉树索引结构的只是一个示意图,并不是真实的索引结构。
2024-12-05 19:17:58
770
原创 MySQL篇:三、函数
D为正数时是小数点的右侧部分,D为0时则不要小数部分,D为负数时是小数点左边部分,具体使用看例子演示。当对正数进行四舍五入:按照正常的计算方式,四舍五入即可。当对负数进行四舍五入:先把符号丢到一边,对去掉负号后的正数进行四舍五入,完成以后,再把这个负号,补上即可。注:2是开始位置,此处起始位置为‘a’所对应的位置是1,这和编程语言中的0为起始位置不一样。ANSI标准规定,返回值有正数,负数,0.而确切数值是依赖不同的C实现的。向下取整,返回
2024-11-14 21:16:42
644
原创 MySQL篇:二、SQL语法
SQL全称 Structured Query Language,结构化查询语言。是一种特殊目的的编程语言,是一种数据库查询和程序设计语言,用于存取数据以及查询、更新和管理关系数据库系统;同时也是数据库脚本文件的扩展名。结构化查询语言(SQL)是高级的非过程化编程语言,允许用户在高层数据结构上工作。它不要求用户指定对数据的存放方法,也不需要用户了解具体的数据存放方式,所以。结构化查询语言语句可以嵌套,这使它具有极大的灵活性和强大的功能。
2024-11-12 20:08:40
775
原创 MySQL篇:一、基本介绍
数据库:存储数据的仓库,数据是有组织的进行存储,DataBase(DB);数据库管理系统:操纵和管理数据库的大型软件,DataBaseManagementSystem(DMS);SQL:操作关系型数据库的编程语言,定义了一套操作关系型数据库统一标准,StructuredQueryLanguage(SQL)(主流的关系型数据库均采用这一统一标准);关系型数据库:建立在关系模型基础上,由多张相互连接的二维表组成的数据库;
2024-11-09 23:31:11
820
原创 SpringBoot配置文件:properties和yml的区别
properties和yml同为配置文件,在书写格式及可以表达的内容上有很大不同,但是读取配置的方式相同
2024-11-09 00:23:09
962
原创 在SpringBoot添加配置类步骤
1.在类上添加@Configuration注解,SpringBoot启动时会扫描到这个类。这样SpringBoot在启动时就会加载@Bean注解下的相应方法,一般可以放拦截器。2.在类上添加@MapperScan注解,指定扫描的mapper包位置。3.在类中定义方法,并在方法上加上@Bean注解。
2024-10-29 16:52:19
165
原创 JWT和高版本JDK无法兼容问题解决
在使用JDK17编写登录功能使,jwt生成代码报错,使用Dubug寻找错误,发现代码没有问题,但是采用postman测试时,一直报错误200,"全局异常",但是在程序端没有报任何异常,使用try-catch也不抛任何异常查了很多资料,发现是因为版本问题,加入了下面这个依赖就可以解决。
2024-10-23 15:40:56
193
原创 使用vue运行时报 warning Expected a space before ‘/>‘, but not found 解决方法
warning Expected a space before '/>', but not found 解决方法
2024-10-20 22:17:54
310
1
原创 mysql中时间函数大小比较的问题-时间靠后的更大
now()减去十分钟,小于等于send_time(即now()-10min的时间在send_time之前),信息可以筛选出来。当前时间减去十分钟,大于now()的信息可以筛选出来;在不同时间做比较时,时间越靠后则时间越大。实例:统计十分钟以内发送消息的数量。
2024-06-14 22:41:29
179
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人