自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 【问题解决】国际化messages_zh_CN.properties中乱码问题

打开 messages_zh_CN.properties 文件 之前用中文写的现在都是各种各样的符号。打开idea 找到File>Settings>Editor>File Encodings。确定这三个地方是否都是utf-8,改好之后点确定,就能正常显示了。

2024-06-14 18:27:09 627

原创 跨境项目的SaaS实现:根据语言区分

跨境项目需要支持多语言环境。虽然使用相同的代码库和数据库,但我们必须根据用户的语言提供不同的内容和服务。因此,我们引入了基于语言的SaaS解决方案。在这个项目中,SaaS实例通过请求头中的语言标识进行区分和管理。通过这种方式,我们实现了根据语言区分SaaS实例的功能。虽然这种方法相较于根据域名区分稍显简单,但在跨境项目的国际化场景中非常有效。它能够根据用户的语言偏好提供定制化的服务,提升用户体验。

2024-06-06 16:59:36 456 1

原创 【国内的saas】将多平台整合

在之前的工作中,我只知道每个平台使用各自的代码。但在加入现公司后,我发现多个平台共享一套代码,包括数据库和服务器等资源。起初,我感到非常奇怪,因为不同平台的所有数据都集中在一起。交接工作的同事解释说,他们通过在表中使用一个字段来区分不同平台的数据。尽管每个平台的功能和用户都是不同的,我当时并没有完全理解。在接手工作后,我主要处理的是某个平台独有的功能,因此没有深入了解平台之间的交互。最近,我接手了一个跨境项目,由于国际化的需求,同一平台需要支持多种语言,并且使用了所谓的SaaS架构。

2024-06-06 16:46:04 313 1

原创 【工具类】java中自写工具类在实体中直接使用注解进行数据类型转换

其中 @JsonDeserialize(contentConverter = StrToIntConverter.class)就是想字符串转换为数字这样就可以不在业务里面频繁的去做类型转换了。我在项目中前辈的代码中发现了在使用lombok时,可以直接在某个属性上面做限制,然后我就发现这个前辈直接写了限制的工具类,我觉的挺方便的,所以记录一下;

2024-06-01 10:59:37 235

原创 java中switch枚举类型enum的用法

语句和枚举类型是 Java 编程中一种常见的编程模式。它能够提高代码的类型安全性、可读性、扩展性和可维护性,使得代码更加清晰、易懂和易于维护。枚举类型是一种特殊的类,用于表示一组固定的常量值。同时,枚举类型的常量值在代码中直观易懂,使得代码更加易读和易于维护。语句是一种常用的控制流程语句,用于根据表达式的值选择执行不同的代码块。枚举类型的参数,然后根据不同的颜色常量值执行不同的代码块。枚举类型中添加一个新的常量即可,而不需要修改已有的代码。语句和枚举类型,可以使代码更加清晰、易读和类型安全。

2024-05-13 16:10:10 2080

原创 RabbitMQ--死信队列

死信顾名思义就是没办法被消费的消息;

2024-05-13 15:54:32 2655 2

原创 【异常处理】org.springframework.beans.factory.BeanDefinitionStoreException:

其实就是命名重复了,换一个就行了。

2024-05-10 15:27:34 334

原创 【小积累】@Qualifier注解

今天在看rabbitMQ的时候需要绑定交换机和队列,交换机和队列都已经注入到spring容器中,写了一个配置类,使用了@bean注解注入的。所以这时候绑定的时候需要使用容器中的交换机和队列,必须要使用@Qualifier去确定是容器中的哪个bean对象;

2024-05-10 13:58:39 230

原创 【小积累】redis的数据类型

类型 简介 特性 场景 String(字符串) 二进制安全 可以包含任何数据,比如jpg图片或者序列化的对象,一个键最大能存储512M --- Hash(字典) 键值对集合,即编程语言中的Map类型 适合存储对象,并且可以像数据库中update一个属性一样只修改某一项属性值(Memcached中需要取出整个字符串反序列化成对象修改完再序列化存回去) 存储、读取、修改用户属性 List(列表) 链表(双向链表) 增删快,提供了操作某

2024-05-06 18:11:19 207

原创 【小积累】BigDecimal加减乘除

写在前面,BigDecimal的初始化也需要注意。为了避免精度损失,建议使用字符串形式来初始化BigDecimal对象。例如,使用new BigDecimal("0.005")而不是new BiqDecimal(0.005),

2024-04-26 11:40:43 713 1

原创 在Java中为日期增加一天的多种方法

在本教程中,我们将学习如何在 Java 中将日期增加一天。这可以通过使用各种方法来完成,例如 plusDays 方法,Calendar 类方法,向 Date 对象添加毫秒以及 Instant class 方法。如果你使用的是 Java 1.8 或更高版本,我们建议使用 plusDays 方法。可以使用 java.util.Calendar 类来实现这个功能。以下是一个简单的示例:123456789101112131415161718importimport。

2024-04-24 14:33:14 2997

原创 【异常处理】Lock wait timeout exceeded; try restarting transaction

其实报错之前我是能正常是使用的,就突然重启就不可以了,而且我前端时间在数据库mysql中发生过好像类似的错误,数据库事务 死锁问题,所以我感觉应该是数据库事务问题,之后发现确实是事务问题,但是出于谨慎起见我排查了服务器问题,发现服务器链接正常,数据库也能正常链接;杀掉之后我重启系统还是报错,无法启动,然后重新查询事务发现依然是之气那查到的那种情况, 其实我当时没有想到,但是我在写笔记想起来我应该在查询所占用情况时,找到线程然后将事务全部杀掉的。正如以上说的,如果是生产环境中,出现了这个问题,应该如何去做?

2024-04-24 14:27:07 2400 1

原创 【异常解决】springBoot单元测试es报错availableProcessors is already set to [8], rejecting [8] 已解决

1、在单元测试上面添加静态代码块,我的就是这样解决的。

2024-04-22 18:11:18 445 2

原创 【小积累】sql中FIND_IN_SET和GROUP_CONCAT的使用

所以如果list是常量,则可以直接用IN, 否则要用find_in_set()函数。

2024-04-22 14:21:08 1042

原创 【异常解决】MySQL数据库:Lock wait timeout exceeded; try restarting transaction问题解析及解决方案

因为使用的数据库为 MySQL,而 member_level_record 表的引擎是 InnoDB 表类型,此时会出现锁等待的情况,在出现锁等待时,会根据参数 innodb_lock_wait_timeout(默认50s)的配置,判断是否需要进行 timeout 的操作,如果等待时间超过了设置的时间就会报错。也就是说,这台 MySQL 服务器上,到底有哪些数据库、各个数据库有哪些表,每张表的字段类型是什么,各个数据库要什么权限才能访问等等信息都保存在 information_schema 库里面。

2024-04-20 14:33:22 1307

原创 mybatisplus中的and 和 or 以及 时间的比较

mybatisplus中的and 和 or 以及 时间的比较

2024-04-17 17:55:36 455

原创 生成二维码,在前端生成

转载链接 :https://blog.csdn.net/CC805034104/article/details/132194288。原文链接:https://blog.csdn.net/CC805034104/article/details/132194288。将参数通过post请求调到后端,后端返回的数据拼接data:image/png;base64生成二维码。后端接收到前端发的POST请求,然后拼接url地址+验证码,设置好宽度、高度。,userID是当前用户的ID,可以根据具体情况改变。

2024-04-16 13:45:09 330

原创 mybatisplus只修改某个字段

这样子的话在修改的时候除了需要修改的字段之外的字段都为传入的都为null,这里需要修改的字段为 balance,frozen_balance 其他的字段传入的都为null;首先你要明确自己是否使用了mybatisplus框架呦。我这里只说明只改某一个字段的方式哈。

2024-04-11 18:12:12 1217 1

原创 Java中optional对象的作用【转】

java中的optional是一个容器对象,它可以包含一个非空值,也可以为空。它的主要作用是在编写代码时避免空指针异常。

2024-03-20 11:23:16 664 1

转载 @Valid和@Validated的区别

Validated没有添加groups属性时,所有参数的验证类型都有分组(即本例中People的name的@NotEmpty、@Size都添加groups属性),则不验证任何参数。在使用组序列验证的时候,如果序列前边的组验证失败,则后面的组将不再给予验证。@Validated没有添加groups属性时,默认验证没有分组的验证属性,如该例子:People的name属性。@Valid不提供分组功能。当一个实体类需要多种验证方式时,例:对于一个实体类的id来说,新增的时候是不需要的,对于更新时是必须的。

2024-03-20 11:19:42 51 1

原创 BeanUtils.copyProperties() 对象复制

需要注意一下,这个方法只能处理两个对象中的相同属性,也就是说如果a或者b有对方没有的属性,a中特有的属性不会复制到b中,b中特有的属性赋值为默认值,所以小心空指针哦。(攻击的)目标,对象;

2024-03-14 14:19:46 428 1

原创 java方法入参中含有HttpServletRequest如何进行单元测试,单元测试创建HttpServletRequest添加请求头

【代码】java方法入参中含有HttpServletRequest如何进行单元测试,单元测试创建HttpServletRequest添加请求头。

2024-03-13 08:34:46 947

原创 node的简介和安装

Node.js 是一个基于 Chrome V8 引擎的 JavaScript 运行时环境,可以使 JavaScript 运行在服务器端。使用 Node.js,可以方便地开发服务器端应用程序,如 Web 应用、API、后端服务,还可以通过 Node.js 构建命令行工具等。相比于传统的服务器端语言(如 PHP、Java、Python 等),Node.js 具有以下特点:单线程,但是采用了事件驱动、异步 I/O 模型,可以处理高并发请求。

2023-09-17 15:00:42 251 1

原创 linux常用命令

less指令在显示文件内容时,并不是一次将整个文件加载之后才显示,而是根据显示需要加载内容,对于显示大型文件具有较高的效率。链接表示目标资源的另外的访问方式,表示一种路径 软链接也称为符号链接,类似于windows里的快捷方式,有自己的数据块,主要存放了链接其他文件的路径。ls 命令如果后面不接目录路径表示列出当前目录中的资源,如果接目录路径表示列出指定目录中的资源。(2) -l参数 表示列出目录中的资源,,以详细列表的方式列出 ls -l可以简写为ll。systemctl stop 服务名 关闭服务。

2023-08-09 18:48:39 63

原创 springboot中添加拦截器

springboot中添加拦截器

2023-08-08 20:15:04 148 1

原创 springboot 跨域报错java.lang.IllegalArgumentException: When allowCredentials is true, allowedOrigins can

解决springboot3跨域问题

2023-08-08 19:15:55 193 1

原创 SpringMvc 文件上传文件下载实现

SpringMvc文件上传 文件下载

2023-08-02 20:48:13 650 1

原创 静态代理和动态代理

动态代理:使用JDK或者CGLIB的动态代理技术,基于被代理的接口或者被代理类动态创建代理对象,但是API很复杂。

2023-07-27 20:13:43 101 1

空空如也

空空如也

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

TA关注的人

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