自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 后端id类型为long类型时,返回给前端浏览器四舍五入,导致id精度缺失问题

今天在代码里,掉了别人写的接口,有个id的字段是long类型的,我这边加点参数返回给前端,然后前端根据id修改,结果修改的数据记录有,但是没起作用,后来发现根据他传给我的id在后台数据库查不到数据,然后发现,在浏览器控制台中后端响应的数据和前端预览的数据不一致,如下图。

2025-04-29 16:37:05 414

原创 wait 和notify ,notifyAll,sleep

操作系统会将CPU分配给其他就绪线程,但当前线程依然存在,不会释放其占用的内存或其他资源。当调用Thread.sleep(milliseconds)时,当前线程会从“运行状态(RUNNABLE)”进入“计时等待状态(TIMED_WAITING)”。线程并没有被销毁,只是暂时停止执行,等待指定时间后重新进入就绪队列,等待CPU调度。两个线程同时开始抢锁,如果是奇数线程抢到了锁,奇数线程判断当前是不是奇数,偶数线程判断当前是不是偶数。使线程进入阻塞状态,释放CPU,以及锁。使线程进入睡眠状态,sleep方法。

2025-04-10 23:09:23 470

原创 重载和重写的区别

在同一个类中定义多个同名方法,子类重新定义父类中已有的方法。

2025-04-10 22:58:57 249

原创 java基础多态------面试八股文

类引用指向子类对象,并调用子类重写的方法,实现不同的行为。

2025-04-10 22:55:27 262

原创 springboot创建bean通过构造方法(只有一个构造方法的情况下)注入其他bean(参数)

spring容器本身在创建bean的时候,会自动从容器中查找 参数 类型的 bean,并将其注入到构造方法中。

2024-10-09 15:39:08 432

原创 springboot中@EnableConfigurationProperties注解

EnableConfigurationProperties注解用于显式地启用对@ConfigurationProperties注解类的支持。它告诉Spring Boot框架,在应用程序中存在使用@ConfigurationProperties注解的类,需要自动加载并绑定配置文件(如application.properties或application.yml)中的属性到这些类的字段上。

2024-10-09 14:52:12 787

原创 springboot中@ConfigurationProperties注解的用法

ConfigurationProperties注解在Spring Boot框架中提供了一种将外部配置(如application.properties或application.yml文件中的属性)绑定到Java对象的便捷方式。以下是@ConfigurationProperties注解的详细用法创建一个普通的Java类,并使用@ConfigurationProperties注解来指定配置文件中属性的前缀。类中的字段需要与配置文件中的属性名称相匹配(考虑驼峰命名和下划线的转换)。@Component。

2024-10-09 11:12:09 842

原创 SpringBoot @ConditionalOnProperty注解

matchIfMissing = true: 指定如果属性 myapp.feature.enabled 不存在,条件也应该匹配(即自动启用这个功能)。name = “myapp.feature.enabled”: 指定要检查的属性名是 myapp.feature.enabled。havingValue = “true”: 指定只有当属性值为 true 时,条件才匹配。

2024-10-09 10:39:33 361

原创 springboot控制上传文件大小

日积月累的总结,需要注意的是这是springboot的配置,针对的是springboot本身接收文件的规则。实际上我们一般都只这样配置就好了。

2024-10-09 10:01:27 1278

原创 Nginx中,413 Request Entity Too Large错误

在Nginx中,413 Request Entity Too Large错误通常发生在尝试上传或发送超过Nginx配置文件中的client_max_body_size限制的文件时。这个错误意味着请求的正文大小超过了Nginx允许的最大值。解决这个问题的方法是在Nginx配置文件中增加client_max_body_size的值。你可以在http、server或location块中设置这个值,我这里给出了60MB的大小。

2024-10-09 09:50:01 1156 1

原创 SQL之case when then用法

简单类型case sexwhen '1' then '男'when '2' then '女’else '其他' end搜索类型SELECTname,salary,CASEFROMemployees;CASE 语句是顺序敏感的,即它会从上到下评估 WHEN 子句,一旦找到第一个为真的条件,就会返回相应的结果,并忽略后面的所有条件。ELSE 子句是可选的。如果没有任何 WHEN 条件为真,并且没有提供 ELSE 子句,那么 CASE 表达式的结果将是 NULL。

2024-10-09 09:43:29 1084

原创 MyBatis<foreach>标签的用法与实践

demo1简单的一个批量更新,这里传入了一个List类型的集合作为参数,拼接到 in 的后面 ,来实现一个简单的批量更新</</collection=“allVisible”,allVisible代表传入的集合item=“visible” ,visible代表集合的每一个元素open=“(” 代表以( 开头separator=“,” 代表以“,”分隔,close=“)” 代表以“)”结束本质上这里是个拼接,所有要保证这里list不为空,不然会报错demo2。

2024-09-26 14:37:21 828

原创 springboot中@bean注解的创建和使用

在@bean注解中有个name参数,根据描述我们可以看出name值就是这个bean的名称,其中If left unspecified, the name of the bean is the name of the annotated method,表示如果没有指定,那这个bean的名称就是@Bean注解所注释的方法的名称,所以上面两个bean的名称分别是masterDataSource 和 slaveDataSource。首先这个注解在方法上使用,也可以在注解使用,这里只介绍在方法上使用的情况。

2024-07-09 22:48:51 1544

原创 nginx配置https协议(测试环境)

首先申请证书这一步,晚上有很多种方式实现,可以自己用算法实现,也可以找在线生成的网站,我这里使用了在线网站。这里我们主要用cert.pem和 private.key 这两个文件。

2024-06-13 13:48:34 312 1

原创 maven安装jar包到本地

【代码】maven安装jar包到本地。

2024-03-29 15:59:40 605

原创 @Autowired , @Resource,Component,@Service,@Repository 和,@Controller,Configuration,@Bean它们的区别

Component、@Service、@Repository 和 @Controller:这些注解用于定义 Spring 容器管理的 Bean。例如,如果你有一个配置类,它包含多个 @Bean 方法用于创建和配置 Bean,那么你需要使用 @Configuration 注解来标记这个类。但是,它们并不定义 Bean 本身,而是用于处理 Bean 之间的依赖关系。尽管这些注解在某些方面有所重叠(例如,它们都与 Spring 容器的 Bean 管理有关),但它们各自有特定的用途和适用场景。

2024-03-28 23:03:13 446

原创 docker网络

在这里插入图片描述](https://img-blog.csdnimg.cn/direct/33bdbe303f014dd49f821b4348226960.pn。这里看下我之前的一个网络,Containers这个里面是可以看到这个网络里有哪些容器。可以看到网络的网段,网关。可以看到已经创建成功了。

2024-03-28 22:50:15 395

原创 docker构建镜像命令

这样,java 是命令,-jar 和 5gSports-app.jar 是传递给 java 命令的参数,–spring.config.location=classpath:/product.yml 也是另一个参数。每个参数都作为一个独立的数组元素。ENTRYPOINT 指令应该是一个 JSON 数组,其中每个元素都是一个独立的字符串,而不是一个包含整个命令和参数的单一字符串。正确的方式是将命令和每个参数分开成数组中的不同元素。基于jdk11镜像构建新的镜像。

2024-03-21 17:34:56 777

转载 springboot处理请求的过程

当通过之后,会执行接下来的过滤器中的过滤行为,假如没有过滤器了,就会进入DispatchServlet中的doService方法。到达Servlet,进入DispatchServlet中的doService方法。执行preHandle方法,这里要执行具体的过滤行为。进入拦截器中的preHandle方法。

2024-03-07 11:19:56 193

原创 MySQL中的describe关键字

检查代码后,认为代码正常,并且字段编写正确,类型也正确,怀疑是数据库这边的问题,发现describe是mysql的一个关键字,不能够作为普通字段使用,改为description后,可正常插入。新建mysql表中需要一个描述的字段,本人就是用的describe,结果mybatis插入报错,去掉这个字段后结果正常。

2024-02-27 11:03:24 769

原创 docker镜像打包和解压

在部署或者迁移的时候会很方便,当有多个镜像可以写成脚本。这样解压下来的实际就是app-web:2.0这个镜像。docker load

2024-02-21 13:57:54 1298 1

原创 docker的常用命令

工作记录。

2024-02-21 13:42:29 678

原创 docker-compose的离线安装

docker-compose

2024-02-20 16:29:41 701

原创 centos7下docker的安装

docker的安装(离线和有线)

2024-02-20 16:20:22 626

转载 @ServletComponentScan注解的作用

【代码】@ServletComponentScan注解的作用。

2024-02-19 10:55:19 1398

原创 nginx去掉前端配置的路径前缀

这样访问的/prod-api/test/1 实际就会变成 http://193.1.0.6:10004/test/1,就像是springmvc的静态资源映射一样的。在前端项目部署到nginx的时候,前端访问后端的路径加了一个全局前缀,一般来说这是前后端商量好的,但是呢也会有不一般的情况,后端在遇到这种情况的时候有两种选择。第二种方式,直接prod-api 后加个斜杠,同时在端口后面也加个斜杠,这样实际请求的路径就去掉了/prod-api。第一种方式,这样的结果是你后端项目同样需要加上prod-api。

2024-02-01 17:27:25 1758 2

原创 mybatis查询结果集的映射关系

【代码】mybatis查询结果集的映射关系。

2024-01-31 17:52:36 479

原创 mybatis之@Table和@Column注解

假如mybatis开启了驼峰规则,mybatis在获得查询结果的时候,会把每个列中带下划线的首字母转成代写,如数据库的字段是user_name,那么mybatis会将user_name变为userName,然后和实体类中的名为userName的属性进行映射,此时如果你的实体类属性userame写着@Column(name = “user_ame” ),这样你的实体类属性userame是获取不到值的。

2024-01-31 17:35:16 1975

原创 mybatis的@Transient注解

需要注意的是,@Transient注解是MyBatis与数据库操作无关的注解,它是由Java EE规范提供的javax.persistence包定义的注解之一,所以它的使用不仅限于MyBatis框架。MyBatis的@Transient注解是用来标记实体类中不需要持久化到数据库的字段,它会告诉MyBatis不需要将该字段映射为数据库表的列。总结来说,@Transient注解用来标记不希望持久化到数据库的字段,而不仅仅是针对有@Table注解的属性。

2024-01-31 15:30:53 2342

原创 mybatis一对多查询,list中的泛型是包装类

假如有两个实体类,用户和角色,其中用户可以有多个实体类,要使用到association标签。例子1:一对多查询用户的角色id的 list,对应List sysRoleIds属性。例子1:一对多查询用户的角色,,对应用户中的List sysRoles属性。可以看到用户实体类中分别有这两个属性。

2024-01-31 15:09:59 921

原创 mybatis批量删除

接口定义,传入批量删除的key。ids代表传入的key数组。

2024-01-31 14:33:13 458

原创 mybatis模糊查询

mybatis模糊查询使用concat函数。

2024-01-31 10:48:52 468

原创 mybatis中使用小于号

mybatis中小于号没有办法直接写。

2024-01-31 10:46:05 6913

原创 jwt的了解和使用以及大致代码分析

以下介绍来自官网(https://jwt.io/)SON Web 令牌 (JWT) 是一种开放标准 (RFC 7519),它定义了一种紧凑且独立的方式,用于在各方之间以 JSON 对象的形式安全地传输信息。此信息可以验证和信任,因为它是经过数字签名的。JWT 可以使用密钥(使用 HMAC 算法)或使用 RSA 或 ECDSA 的公钥/私钥对进行签名**(来自官网)**。尽管 JWT 可以加密以提供各方之间的保密性,但我们将专注于签名令牌。

2023-10-11 16:20:17 310

原创 二进制中左移、右移、无符号右移规则

这里例子都采用的32进制,int类型占32位,具体结果要看系统中int占位,**** 代表很多个1或者0,具体要看它前面是1还是0。这里例子都采用的32进制,int类型占32位,具体结果要看系统中int占位,**** 代表很多个1或者0,具体要看它前面是1还是0。对于正数而言,有符号右移和无符号右移都是一样,左侧都补的是0,与符号位相同。但是对于负数而言,有符号右移和无符号右移是不一样的。这里首先看正数的左移。

2023-10-09 18:36:43 4549 1

转载 二进制中的与、或、非、异或运算

【代码】二进制中的与、或、非、异或运算。

2023-10-09 13:52:13 2323

原创 nginx生产环境demo(六)

以为实际情况下一个nginx.conf下可能会有多个server模块,监听不同的端口,为了避免发生一些错误的修改,所谓我们这里给每个server都单独建立一个后缀为.conf的配置文件,然后导入总配置文件的http模块中。这里用到了 include这个命令,导入其他的配置文件。,这个配置文件是放在nginx目录下的那个。

2023-10-08 14:20:20 174

原创 nginx高可用配置(五)

使用两台服务器,ip分别为192.168.2.150 ,192.168.2.202,分别安装nginx和keepalived,在这里我们使用150作为主服务器,使用202作为备用服务器,虚拟ip为192.168.2.130,不论主服务器还是备服务器都需要编写keepalived的配置文件 ,keepalived.conf。的nginx和keepalived.conf,然后启动依次启动主备服务器的nginx和keepalived服务。5.ll命令查看,会有个配置文件 keepalived.conf。

2023-10-08 14:02:16 1070 2

原创 nginx动态分离(四)

动静分离把静态文件放入nginx或者说服务器的某个文件夹,这里把文件放入服务器的根目录下/data ,创建一个test目录,这样就直接访问到test目录下的静态文件 [121.4.170.108/test/b.html]

2023-10-08 10:44:51 133

原创 nginx实现负载均衡(三)

使用upstream开头定义一个名为名为 backend 的 upstream 指令域 ,默认使用的轮询,每个请求按时间顺序逐一分配到不同的后端服务器,如果后端某台服务器宕机,故障系统被自动剔除,使用户访问不受影响。Weight 指定轮询权值,Weight值越大,分配到的访问机率越高,主要用于后端每个服务器性能不均的情况下。默认的weight值是1demo01定义的位置是在http的全局块中,这里定义了一个名为backend的负载均衡配置demo02。

2023-10-07 17:18:12 715

空空如也

空空如也

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

TA关注的人

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