自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(7)
  • 收藏
  • 关注

原创 Unable to infer base url. This is common when using dynamic servlet registration or when the API is

但是项目启动之后,就一直报Unable to infer base url. This is common when using dynamic servlet registration or when the API is。并且可以看到,我并没有指明扫描哪个包,所以与swagger生成产生了冲突,这里,只需要指明包名就好了。在继承swagger的时候,首先,我是将swagger部署到了一个单独的配置模块。其实错误很简单,就是我使用了全局统一响应控制器。再次启动项目swagger可以正常访问了。

2023-10-27 16:50:59 272 4

原创 实现springCloud GateWay 结合Nacos的动态路由配置

随后,我们对字符串的数据进行解析,如果能解析到数据,就说明我们的nacos中有相关配置信息,我们需要在网关中设置信息其中的addRouteDefiniton方法,就是将拉取到的信息,设置在网关中。可以看到,此类中,都是对网关存储的配置信息进行增删改查,以便我们读取到nacos的信息之后,对网关中的“旧数据”进行操作;最后,我们配置监听器,如果此配置文件有改动,那么我们的网关配置信息跟着改动。

2023-10-19 17:38:51 953

原创 ConstraintValidator自定义校验注解+MethodArgumentNotValidException异常全局捕获

重要参数:@Constraint(validatedBy = {EmailValidator.class }):表示检验逻辑使用EmailValidator这个类,下面会放这个类代码@Target({FIELD, PARAMETER}):表明此注解可以用在属性和参数上String message() :校验生效时,返回的错误信息Class<?>[] groups() :可以指定在哪个环境下注解生效(一般不填)注意:缺少这三个属性会报错。

2023-09-20 11:28:08 468 7

原创 项目实战-面向切面编程-注解动态设置分布式锁

Component@Aspect//创建锁对象//尝试获取锁//判断锁是否获取成功if (!isLock){try {//执行业务//释放锁//排序,防止使我们的切面比事务的优先级高,保证在事务提交之后,再释放锁,避免锁失效问题@Overridereturn 0;除此之外,创建锁对象使,我们采用工厂模式,保证我们在打上注解时,可以随意指定哪种模式的锁;例如redisson中的锁大概分为:1.可重入锁2.公平锁3.读写锁所以。

2023-09-14 23:57:04 165 2

原创 Redis数据类型strings详解

Incr这个命令是具有原子性的,例如,客户端 1 同时读取“10”,客户端 2 同时读取“10”,两者都递增到 11,并将新值设置为 11,这种情况永远不会发生。如果你的string类型的key,是一个数字,那么可以有一些有趣的操作,比如做自增操作,而。而xx则正好相反,如果key有设置值,则设置成功,如果key没有值则设置失败。不过我们可以通过nx(判断key是否有设置值,有值则设置失败,避免覆盖)值得注意的是,如果重复往同一个key设置值,那么之前那个key就会被覆盖。

2023-09-11 00:54:24 70 4

原创 解决Mybatis-Plus中IdType.AUTO局部配置不生效的问题

再在mysql数据库中执行:ALTER TABLE 库名.表名 AUTO_INCREMENT = 0;由于业务原因,我们在某一个实体类上需要做局部配置,将id生成方式改为自增长。但是数据库插入数据时,id的默认生成方式还是雪花算法,局部配置没有生效。重置之后的自增值就会从已有数据中主键值最大的那条数据开始计算+1。首先,nacos全局配置中是雪花算法生成id。先删除之前插入的那条。

2023-09-09 16:02:53 1285 5

原创 @Asyn异步开启线程池

创建要在线程池里面执行的方法,并加上@Asyn("线程池名称")注解表明这个方法是异步执行并且利用线程池执行。首先创建一个配置类,创建线程池,并将线程池作为一个bean注册到spring容器。在启动类上加上@EnableAsync注解,使spring支持异步线程的操作。

2023-09-08 10:56:14 251 7

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除