自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 windows开启FTP服务,x-file-storage实现文件上传

基于ftp文件上传功能,使用x-file-storage进行实现,然而找了很多资料,没有发现使用x-file-storage的实现,因此自己摸索成功后进行经验分享。今天主要接受如何在windows 11系统中快速搭建一个本地的FTP服务器,并使用x-file-storage进行FTP问文件上传,该配置也适用于其他windows版本。

2025-02-22 22:39:54 466

原创 @RequestBody String能够接收请求体中所有json数据内容

这样做的好处是简单直接,但如果需要处理复杂的 JSON 数据,建议使用更具体的类型(如 POJO 对象),这样可以更好地利用 Spring 的自动绑定功能。,并且请求体是 {“key”: “value”},那么 json 参数将会接收到字符串 “{“key”:“value”}”。字符串类型:@RequestBody String 会将请求体中的所有内容作为字符串传递给方法参数。:当请求体包含 JSON 数据时,Spring 会尝试将这些 JSON 数据解析为指定类型的对象。字符串类型:如果使用。

2025-01-15 22:51:40 281

原创 Stream流中无法修改哪些外部变量?

在 Stream 流操作中,尽量避免修改外部变量,特别是基本类型变量和不可变对象。在 Java 的 Stream API 中,流的操作是设计为函数式的,这意味着它们应该没有副作用,并且不会修改外部状态。不能在 Stream 操作中直接修改这些变量的值,因为任何看似“修改”的操作实际上都会创建一个新的值,并将该值赋予变量,而原来的变量保持不变。因此,在 Stream 操作中尝试修改这些对象实际上会创建新的对象实例,而不会影响原始对象。如果确实需要更新集合中的元素,需要创建一个新的集合来保存结果。

2025-01-04 20:36:11 392

原创 1.Java常用集合详解(ArrayList)

ArrayList 提供了一个快速失败(fail-fast)的迭代器,这意味着如果在迭代过程中检测到列表被修改(除了通过迭代器自己的 remove 方法),迭代器将抛出 ConcurrentModificationException 异常。ArrayList 内部使用一个数组来存储元素。当添加的元素超过当前数组的容量时,ArrayList 会创建一个新的更大的数组,并将原有元素复制到新数组中。当 ArrayList 的容量不足以容纳新的元素时,它会创建一个更大容量的新数组(通常是当前容量的1.5倍)。

2025-01-04 20:00:02 298

原创 @Transactional注解不生效原因

然而,为了使 @Transactional 注解生效,Spring 使用 AOP(面向切面编程)机制,默认情况下通过动态代理来增强被标注的方法。在同一个对象实例中,直接调用方法是直接通过该对象引用进行的,即不经过任何代理。来创建目标对象的代理。当外部代码调用目标对象的方法时,实际上是调用了代理对象的方法。如果是在同一个类中的方法调用,这个调用绕过了代理层,因此 @Transactional 注解不会生效。当你在一个类内部直接调用带有此注解的方法时,由于调用发生在同一个对象实例内部,为了避免这种情况,应该。

2024-12-25 21:51:42 328

原创 Spring 循环依赖问题详解

由于 ServiceA 尚未完成初始化,Spring 会将 ServiceA 的早期版本(部分初始化的对象)放入二级缓存(Early Singleton Cache),并使用这个早期版本来满足 ServiceB 的依赖。ServiceA 完成初始化后,Spring 确保 ServiceB 中的 ServiceA 引用也指向完全初始化的 ServiceA 实例。ServiceB 创建完成后,Spring 返回到 ServiceA 的创建过程,并用完整的 ServiceB 实例替换掉早期版本。

2024-12-23 23:13:15 1364

原创 spring boot包扫描范围详解

对于模块 B 中的配置类,如果它们位于不同的包中,需要采取额外措施来确保它们能够被发现和加载,比如通过 @ComponentScan。如果模块 B 的配置类位于与模块 A 启动类相同的包或其子包内,那么这些配置类也会被自动扫描到。因此,如果我们希望模块 A 的启动类能扫描到模块 B 中的所有配置类,应该确保这些配置类位于启动类所在的包或其子包内,或者通过上述提到的方法扩展扫描范围。如果模块 B 的配置类不在启动类所在的包或其子包内,则它们不会被默认扫描到,除非明确指定了额外的包来扫描。

2024-12-19 22:55:34 500

原创 微服务配置文件相关踩过的坑

本文讲述了有依赖关系的各模块下的配置文件相关问题和为什么要将相关配置放在直接依赖的模块中

2024-12-19 21:09:46 237

原创 SpringBoot原理解析面试可用

SpringBoot自动配置原理剖析,面试可用

2024-12-19 00:21:04 175

原创 Docker中部署分布式存储的MinIO(视频、文档等分布式存储)

MinIO 是一个高性能的对象存储系统,专为云原生应用设计:MinIO 实现了与 Amazon S3 API 的全面兼容,这意味着你可以使用任何现有的 S3 客户端工具或 SDK 来访问 MinIO。:针对大规模读写操作进行了优化,适合处理海量非结构化数据,如图片、视频、日志文件等。高可用性和持久性:通过纠删码(Erasure Code)技术实现数据冗余,确保即使部分节点故障也能保证数据的安全性和可用性。:提供多种安全机制,包括服务器端加密、客户端加密、身份验证和授权等。

2024-12-18 20:42:37 893

原创 Nacos配置中心的Data Id拼接规则

以下配置文件是根据spring.application.name加profiles.active及file-extension拼接的。

2024-12-17 17:59:30 181

原创 Nacos配置中心始终拿不到对应的命名空间的配置问题解决

Nacos配置中心始终找不到Data -Id配置问题解决

2024-12-17 17:51:37 541

原创 微服务bootstrap.yml和application.yml配置文件的区别

application.yml 是全局配置文件,适用于大多数应用程序配置,并且可以在运行时通过特定机制进行刷新。bootstrap.yml 是独立配置文件,主要用于应用程序启动阶段的关键配置,特别是当涉及到配置中心或其他早期初始化需求时。更像是一个独立的配置文件,专门用于应用程序启动时的配置;而 application.yml 则是一个全局配置文件,涵盖了应用程序运行期间所需的大部分配置。最后,需要注意的是使用时需要有spring cloud相关依赖。

2024-12-13 10:32:57 724

原创 继承:子类继承了父类的什么?

3.子类继承了所有的非静态方法,当没有继承父类的私有方法(private)、静态方法(static)、最终方法(final):因为成员方法的继承是通过虚方法表进行的,而private、static、final修饰的方法不能被加到虚方法表中。(子类在创建对象时,子类构造方法中默认调用父类的无参构造,此时子类对象开辟的空间中也会有父类的成员变量。其实这个地方不是重写,是父类和子类中的出现了同名方法(被允许的)。1.子类不能继承父类的构造方法:如果继承了父类的构造方法违背了构造方法名需和类名同名的规则。

2023-12-10 13:33:00 260 2

空空如也

空空如也

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

TA关注的人

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