- 博客(128)
- 收藏
- 关注
原创 MySQL表设计经验汇总篇
如果没有特殊的理由, 一般都建议将字段定义为 NOT NULL。为什么呢?首先,NOT NULL 可以防止出现空指针问题。其次,NULL值存储也需要额外的空间的,它也会导致比较运算更为复杂,使优化器难以优化SQL。NULL值有可能会导致索引失效如果将字段默认设置成一个空字符串或常量值并没有什么不同,且都不会影响到应用逻辑, 那就可以将这个字段设置为NOT NULL。
2025-05-07 09:57:15
745
原创 接口防抖处理
最近在做项目中遇到一个接口由于用户“手抖”向库里插入了多条id不同其他字段相同的数据,未解决这个问题,查阅资料,整理此笔记,方便下次查看。是防止短时间内多次触发相同请求的一种技术手段,通常用于避免重复提交表单、重复点击按钮等场景。
2025-05-07 09:39:35
737
原创 Spring中的自注入:原理、用途与实践
在Spring中,自注入是指一个Bean通过依赖注入的方式注入自身的代理实例。@Service@Autowired在这个例子中,`MyService`类注入了自身的实例`self`。需要注意的是,`self`并不是直接指向`this`,而是指向Spring容器中该Bean的代理对象。自注入是Spring框架中一个非常实用的特性,主要用于确保调用的是Spring代理对象,从而保证事务管理、AOP切面等Spring功能能够正常工作。
2025-04-22 11:41:29
871
原创 使用AOP完成添加日志
可以创建自定义注解,并在需要记录日志的方法上使用这些注解。然后在 Aspect 中检查这些注解。使用注解@Loggable// 方法逻辑// 方法逻辑配置 Aspect@Aspect@Componenttry {通过使用注解、表达式语言或 Spring AOP 注解,可以灵活地控制哪些方法需要输出日志,从而实现日志记录的精确控制。这有助于减少不必要的日志输出,提高日志的可读性和维护性。
2025-04-19 15:50:13
503
转载 记录Java踩坑操作!
我们会惊讶的发现,同样定义了两个String类型的参数,又定义了一个StringBuilder类的参数,然后两次使用append方法追加字符串。跟上面的结果是一样的。从图中能看出定义了两个String类型的参数,又定义了一个StringBuilder类的参数,然后两次使用append方法追加字符串。通常我们会把一些小数类型的字段(比如:金额),定义成BigDecimal,而不是Double,避免丢失精度问题。有:-1(未下单),0(已下单),1(已支付),2(已完成),3(取消),5种状态。
2025-02-06 16:50:01
70
原创 rm -f 和 rm -r 的区别
目录及其所有子目录和文件,即使目录或文件不存在也不会报错.是 Linux 中用于删除文件和目录的命令。文件,即使文件不存在也不会报错.目录及其所有子目录和文件.
2025-01-06 19:19:15
2234
原创 阿里云短信服务接口触发天级流控Permits:50
短信验证码 :使用同一个签名,对同一个手机号码发送短信验证码,支持1条/分钟,5条/小。短信通知: 使用同一个签名和同一个短信模板ID,对同一个手机号码发送短信通知,支持50。最近在做一个业务需求涉及到阿里云短信,正测试着,结果短信不生效,查看日志后发现。so,如果还要用的话,重新建个模版,或者使用别的测试手机号码即可!时,累计10条/天。
2025-01-06 16:19:03
633
转载 详解Nacos和Eureka的区别
Nacos的实现原理 1.客户端provider向nacos server的open api发起调用,把自己的服务地址链接,服务名称注册上去 2.nacos server与服务提供者provider建立心跳机制,用来检测服务状态 3.服务消费者consumer查询出提供服务实例列表 4.并且默认10s去nacos server拉取服务实例列表 5.当服务消费者检测到服务异常,基于UDP协议推送更新 6.服务消费者即可调用了。Nacos 的阈值是针对某个具体 Service 的,而不是针对所有服务的。
2024-12-21 10:14:33
110
原创 解决谷歌浏览器跨域问题has been blocked by CORS policy: The request client is not a secure context and the resou
将第一项设置为 Disabled;点击右下角重启浏览器!
2024-06-19 19:20:51
1481
原创 Caused by: com.fasterxml.jackson.databind.exc.UnrecognizedPropertyException。前端多传个参数,后端报错????
Caused by: com.fasterxml.jackson.databind.exc.MismatchedInputException: Cannot construct instance of `com.cvit.storage.starter.dao.vo.StorageReduceVo` (although at least one Creator exists): no String-argument constructor/factory method to deserialize from
2024-05-22 09:25:43
525
转载 Docker-compose
我们知道使用一个Dockerfile模板文件可以定义一个单独的应用容器,如果需要定义多个容器就需要服务编排。服务编排有很多种技术方案,今天给大家介绍Docker 官方产品Docker Compose。Dockerfile可以让用户管理一个单独的应用容器;而Compose则允许用户在一个模板(YAML格式) 中定义一组相关联的应用容器( 被称为一个project,即项目),例如一个Web服务容器再加上后端的数据库服务容器等。Docker-Compose项目是Docker官方的开源项目,
2024-05-09 11:01:14
83
转载 Docker从入门到部署项目
通过容器可以实现方便快速并且与平台解耦的自动化部署方式,无论你部署时的环境如何,容器中的应用程序都会运行在同一种环境下。是一个特殊的文件系统,除了提供容器运行时所需的程序、库、资源、配置等文件外,还包含了一些为运行时准备的一些配置参数(如匿名卷、环境变量、用户等)。镜像构建完成后,可以很容易的在当前宿主机上运行,但是,如果需要在其它服务器上使用这个镜像,我们就需要一个集中的存储、分发镜像的服务,一样,镜像是静态的定义,容器是镜像运行时的实体。上有大量的高质量的镜像可以用,我们可以使用。
2024-05-09 10:50:38
209
原创 Java 断言的作用
在 Java 编程语言中,断言(Assertion)是一种用于在程序运行期间检查和验证某个条件是否满足的机制。断言机制可以在代码中插入断言语句,并在代码执行过程中对这些语句进行验证。当断言失败时,程序会抛出一个 AssertionError 异常,并终止执行。
2024-05-08 15:35:00
759
原创 解决mysql问题: this is incompatible with sql_mode=only_full_group_by
解决mysql问题: this is incompatible with sql_mode=only_full_group_by
2024-03-23 09:32:00
1549
1
原创 避免java.util.NoSuchElementException: No value present
避免java.util.NoSuchElementException: No value present
2024-03-20 10:11:46
1479
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人