自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

苍煜

把自己的经验分享给大家

  • 博客(298)
  • 收藏
  • 关注

原创 一文详细说明spring cloud和Spring Cloud Alibaba的各自组件以及联系和区别

我们通过对springboot的使用,就知道,spring从来不是重复造轮子,而是对现有技术的封装和维护,举个简单例子,比如最早spring只提供了IOC和AOP的核心功能,而像ORM框架、缓存、MVC框架,spring只是提供了一种兼容以及支持,所以当时大家说spring是万能胶,可以把各种各样的框架整合进来。同理,springcloud也不是自己开发组件,他也不是一个框架,因为Spring Cloud的核心并没有实现服务注册、熔断、配置中心等功能,它提供了一个标准规范。

2022-09-01 19:45:20 22292 4

原创 Playwright JAVA版本 常用操作总结

Playwright 提供了丰富的 API 来模拟用户行为、截图、断言等操作。create()。。newPage()。navigate()。locator()。click()。fill()。。。。等。route()。

2025-04-25 10:02:07 974

原创 Playwright 入门教程:从概念到应用(Java 版)

Playwright是由 Microsoft 开发的一个现代化的自动化测试工具,专为现代 Web 应用设计。它支持多种编程语言(如 Java、JavaScript/TypeScript、Python 和 C#),并提供对主流浏览器(Chromium、Firefox、WebKit)的原生支持。Playwright 不仅可以用于自动化测试,还可以用于抓取动态内容、调试和分析 Web 应用。

2025-04-24 20:53:25 763

原创 Jsoup、Selenium 和 Playwright 的含义、作用和区别

Jsoup:适合静态网页的数据抓取和解析,轻量高效,但无法处理动态内容。Selenium:适合动态内容抓取和自动化测试,功能强大,但性能较低。Playwright:适合现代化 Web 应用的复杂测试和动态内容抓取,性能优越,功能丰富。如果只是抓取静态网页数据,Jsoup是最佳选择。如果需要处理动态内容或进行功能测试,Selenium和Playwright都是不错的选择,但Playwright更加现代化和高效。

2025-04-23 20:15:44 935

原创 Elasticsearch(ES)中的脚本(Script)

字段含义类型是否必需默认值lang脚本语言String否painlesssource脚本代码逻辑String是(或idparams传递给脚本的参数Object否{}id存储脚本的唯一标识符String否stored是否引用存储脚本Boolean否false使用访问数值型字段(高效)。使用访问文档原始内容(灵活但较慢)。通过params传递动态值,避免脚本注入风险。频繁使用的脚本应存储()以提升性能。默认启用 Painless 沙箱,禁止文件/网络操作。

2025-04-23 20:04:56 975

原创 MinIO 教程:从入门到Spring Boot集成

MinlO是一个基于Apache License v2.0开源协议的对象存储服务。它兼容亚马逊S3云存储服务接口,非常适合于存储大容量非结构化的数据。例如图片、视频、日志文件、备份数据和容器/虚拟机镜像等,而一个对象文件可以是任意大小,从几kb到最大5T不等。MinlO是一个非常轻量的服务 可以很简单的和其他应用的结合,类似NodeJS, Redis或者MySQL。MInIO官网核心特性支持海量非结构化数据(图片、视频、日志等)支持单个对象最大5TB。轻量级(二进制文件仅数十MB)。

2025-04-23 15:49:47 1781

原创 OpenFeign 使用教程:从入门到实践

OpenFeign 是一个声明式的 Web 服务客户端,它使得编写 HTTP 客户端变得更加简单。只需要创建一个接口并添加注解,就可以完成对远程服务的调用。OpenFeign 集成了 Ribbon 和 Hystrix(可选),支持负载均衡和服务熔断。在微服务架构中,服务之间的调用是常见的需求。为了简化这种跨服务的调用,OpenFeign和Feign提供了一种声明式的 HTTP 客户端解决方案。本文将详细介绍 OpenFeign 的简介,并深入探讨它与 Feign 的关系。OpenFeign。

2025-04-21 18:04:28 911

原创 SpringCloud和SpringCloudAlibaba技术栈全面对比

功能模块服务注册与发现Eureka(已停止维护)Nacos负载均衡Ribbon(已停止维护)熔断与限流Hystrix(已停止维护)Sentinel分布式配置管理、配置中心NacosAPI 网关消息队列RocketMQ分布式事务第三方工具(如 Seata)Seata服务调用日志采集与聚合第三方工具(如 Logstash、Fluentd)阿里云 SLS/Logtail监控与指标阿里云云监控/Spring Boot Actuator链路追踪分布式锁事件驱动架构RocketMQRPC 框架。

2025-04-21 17:02:12 1103

原创 @RefreshScope 和@nacosvalue 的区别

是 Spring Cloud 提供的一个注解,主要用于实现配置的动态刷新。它的作用是让被标记的 Bean 在运行时能够感知到外部配置的变化,并重新加载这些配置。是 Nacos 提供的一个注解,专门用于从 Nacos 配置中心读取配置值。它类似于 Spring 的@Value注解,但直接与 Nacos 集成,支持动态获取配置。

2025-04-21 16:06:29 783

原创 @Primary 注解的作用

Primary是 Spring 中用于解决依赖注入歧义问题的一个注解,主要用于指定默认的首选 Bean。解决多个相同类型 Bean 的注入冲突。适用于全局范围,默认优先选择被标记为@Primary的 Bean。可以与@Qualifier配合使用,满足更复杂的注入需求。在实际开发中,合理使用@Primary和@Qualifier可以让代码更加清晰和灵活。

2025-04-20 18:11:33 709

原创 IDEA在Git提交时添加.ignore忽略文件,解决为什么Git中有时候使用.gitignore也无法忽略一些文件

忽略所有 .class 文件*.class# 忽略所有 .log 文件*.log# 忽略所有 .settings 目录.settings/# 忽略所有 .project 文件.project# 忽略所有 .idea 目录.idea/# 忽略所有 .gitignore 文件.gitignore# 忽略所有 target 目录target/通过本文的介绍,我们了解了如何在IntelliJ IDEA中高效地管理.gitignore文件,并分析了为什么有时候.gitignore。

2025-04-20 15:38:31 2053

原创 Java 泛型详解:从基础到实践(以 Elasticsearch 结果解析为例)

/ 使用泛型 T特性List<T>List<?类型参数T是一个具体的类型参数?表示未知类型可读性可以安全地读取和写入元素只能读取元素,不能写入(除了null适用场景需要明确类型参数的场景需要处理多种类型列表的场景灵活性更适合类型安全的操作更灵活,但牺牲了部分类型安全性示例或List<?可以表示或泛型是 Java 中实现类型安全和代码复用的核心工具。通过案例泛型解决了传统集合的类型不安全问题。通配符和上下界增强了泛型的灵活性。合理使用泛型能显著提升代码的健壮性和可维护性。

2025-04-17 14:53:21 591

原创 Nginx-04- Nginx配置详解-最详细的配置

------------------- http 块配置 -------------------http {# 包含 MIME 类型定义文件,用于识别文件类型。# 默认 MIME 类型,无法识别时返回此类型。# 设置默认字符集为 GB2312(已注释)。如果需要支持中文,可以启用此配置。# 设置服务器名称哈希表的大小,避免因域名过长导致性能问题。# 设置客户端请求头的缓冲区大小,适合处理较大的请求头。# 设置大请求头的缓冲区数量和大小。

2025-04-14 16:26:23 1056

原创 SpringBoot项目部署之启动脚本

【代码】SpringBoot项目部署之启动脚本。

2025-04-10 21:01:27 482

原创 MyBatis中mapper.xml 的sql映射规则

MyBatis 映射文件的顶级元素(按定义顺序):-POJO 对象:2. 多参数- 默认 , (不推荐):- 注解(推荐):3. 复杂参数- Map 类型:- 混合参数(POJO + ):三、主键生成与回填1. 自增主键(如 MySQL):启用 JDBC 的自动生成主键。:将生成的主键赋值给对象的 属性。2. 非自增主键(如 Oracle):先执行 生成主键,再插入数据。四、结果映射()1. 基础映射2. 关联对象(一对一)3. 集合

2025-03-26 18:32:44 1194

原创 Maven 多模块项目(如微服务架构)中,父 POM(最外层) 和 子模块 POM(具体业务模块)的区别和联系

父 POM 是项目的 全局配置中心,负责统一管理依赖版本、插件版本和公共配置,确保所有子模块的一致性。作用:集中定义依赖的版本和范围,子模块引用时无需重复指定版本。示例:1.2 插件管理 ()作用:统一插件版本和默认配置,子模块按需启用。示例:1.3 其他公共配置定义全局属性(如 中的 Java 版本)。声明模块聚合()。2. 子模块 POM 的核心职责子模块 POM 负责 具体模块的实现配置,继承父 POM 的依赖和插件模板,并按需覆盖或扩展。规则:示例:2.2

2025-03-25 15:34:38 572

原创 lombok突然不好用了-和MapStruct冲突解决方案

我在idea上写java代码,使用了lombok的@data功能,本来没问题,但是加入了mapstruct框架依赖就不行了,虽然代码没报错,但是编译后的class里面没有了get,set方法了。报错截图:idea没报错,但是编译后的class就是没有getxx,setxx方法。

2025-03-25 15:31:29 1092

原创 BeanUtils.copyProperties(target, source)-在两个 Java 对象之间复制属性值

默认只支持浅复制,适用于简单对象。深度复制 :需要手动实现(如clone方法)或借助工具(如 Jackson)。适用场景 :如果对象结构简单且不需要深度复制,可以直接使用。如果对象包含嵌套结构或需要深度复制,建议使用 Jackson 或其他专用工具。如果你有更具体的需求或问题,请进一步说明,我可以为你提供更详细的解决方案!

2025-03-19 14:50:21 914

原创 swagger全部注解,附swagger2和swagger3的注解区别

注解作用常用属性示例代码@Api标记一个类是 API 的入口点,描述整个控制器的功能。tags:API 分组:API 描述信息java @Api(tags = "用户管理", description = "用户相关的操作") @RestController public class UserController { }描述一个方法的功能(如 GET、POST 请求)。value:方法简短描述notes:方法详细描述response:返回值类型。

2025-03-18 14:07:34 1196

原创 Springdoc 全部注解一文解释清楚

以下是springdoc注解作用@Tag为控制器或方法分组,便于组织和分类 API。@Operation描述 API 方法的功能。描述单个响应结果。@Parameter描述方法参数的含义。@Schema描述实体类或字段的信息。@Hidden隐藏某个类、方法或参数,不包含在生成的文档中。全局配置 OpenAPI 文档的元信息(标题、版本、描述等)。

2025-03-18 14:02:11 1525

原创 Springdoc配置参数详解

默认值:无示例效果Swagger UI 将加载自定义配置文件。作用:禁用 API 文档的缓存。默认值false效果每次请求都会重新生成 OpenAPI 文档。示例作用:通过 Java 配置类自定义 OpenAPI 对象。示例:@Bean.title("用户管理系统").description("用户管理相关的 API 文档")).addServersItem(new Server().url("http://localhost:8080").description("本地开发环境"));

2025-03-18 13:59:03 1057

原创 SpringBoot之如何集成SpringDoc最详细文档

默认值:无示例效果Swagger UI 将加载自定义配置文件。作用:禁用 API 文档的缓存。默认值false效果每次请求都会重新生成 OpenAPI 文档。示例以下是springdoc类别参数作用基础配置配置 API 文档路径、Swagger UI 路径及启用状态。全局元信息设置 API 文档的标题、描述、版本等基本信息。分组与模块化支持分组、限制扫描范围、排除特定路径。安全配置定义全局安全方案和要求。自定义行为控制缓存、参数对象展平、服务器地址等高级功能。高级配置。

2025-03-18 13:54:04 736

原创 ES8 JAVA API client使用报错:Invalid media-type value on headers [Content-Type, Accept]

解决办法:在es实体bean配置ElasticSearchConfig中,去掉这一行代码Elasticsearch-06-Elasticsearch Java API Client-Elasticsearch 8.0 的基础配置和使用Elasticsearch-07-Elasticsearch Java API Client-Elasticsearch 8.0 的高阶api

2025-03-17 18:34:00 1078

原创 ES报错:Elasticsearch health check &URI [/_cluster/health/], status line [HTTP/1.1 404 ]

具体来说,Spring Boot应用尝试通过HTTP GET请求访问Elasticsearch的/_cluster/health/端点来检查集群健康状态,但返回了HTTP 404错误,即“Not Found”。3:发现程序在执行Elasticsearch health check时,访问的是http://localhost:9200。我这是使用的是springcloud框架,链接了es8 的API。可以正常启动,但是看着报错就很难受。2:java程序可以查询es,表明ip和端口都没问题。

2025-03-17 18:05:51 304

原创 RUOYI框架在实际项目中的应用三:Ruoyi微服务版本-RuoYi-Cloud

RuoYi-Cloud 是一个 Java EE 分布式微服务架构平台,基于经典技术组合(Spring Boot、Spring Cloud & Alibaba、Vue、Element),内置模块如:部门管理、角色用户、菜单及按钮授权、数据权限、系统参数、日志管理、代码生成等。在线定时任务配置;支持集群,支持多数据源。

2025-03-16 15:52:16 935

原创 RUOYI框架在实际项目中的应用二:Ruoyi前后端分离版本-RuoYi-Vue

1、系统环境Java EE 82、主框架3、持久层4、视图层Vue 2.6.xcom.ruoyi├── common // 工具类│ └── annotation // 自定义注解│ └── config // 全局配置│ └── constant // 通用常量│ └── core // 核心控制│ └── enums // 通用枚举│ └── exception // 通用异常│ └── filter // 过滤器处理│ └── utils // 通用类处理。

2025-03-16 15:34:36 1512

原创 RUOYI框架在实际项目中的应用一:ruoyi简介

若依框架是一个基于java语言的开源项目,在原有的代码基础之上开展自己的功能代码的开发任务。在我们实际的开发任务中,很多系统都有一些共同的框架和开发内容,比如用户管理、菜单管理、、定时任务、日志管理等等一些功能。这些功能虽然简单但是自己写的话依旧少不了花时间去建表,写代码,测试,调试。也是很消耗时间的。最重要的是如果公司是以项目交付为业务的公司,那么每一个项目都需要反复去创建这一套管理模型,就很麻烦。

2025-03-16 14:21:31 1386

原创 Elasticsearch-07-Elasticsearch Java API Client-Elasticsearch 8.0 的高阶api

Elasticsearch-06-Elasticsearch Java API Client-Elasticsearch 8.0 的基础配置和使用通过之前的配置,目前已经将elasticsearchClient 注入了容器中,后续只要引入即可还不知道怎么注入elasticsearchClient的去看我上篇文章Elasticsearch-06-Elasticsearch Java API Client-Elasticsearch 8.0 的基础配置和使用3:查询某个索引4:创建索引5:删除指定

2025-03-12 18:25:29 1430

原创 MAVEN解决版本依赖冲突

依赖冲突是指项目依赖的某一个jar包,有多个不同的版本,因而造成类包版本冲突,从而导致调试过程中出现类似类找不到,NoSuchMethodError等错误。综上就是maven如何排查依赖冲突以及解决方法,对于排查依赖个人比较推荐使用maven helper插件,至于解决依赖冲突个人推荐使用版本锁定的方法,此外dependencyManagement只是声明依赖,并不自动实现引入,因此子项目需要显示的声明需要用的依赖。

2025-03-12 12:09:58 1535

原创 Spring Framework 的版本历史和JDK、Springboot对应关系

Spring从最初的一城一池,发展到如今已经发展为一个生态帝国,旗下拥有诸多的子项目,从最基本的Spring Ioc/AOP使用,到安全管理,再到 大数据,Spring已经逐渐的渗入到各个领域。

2024-11-22 17:41:31 3654 1

原创 SpringBoot项目部署时application.yml文件的加载优先级

多层级配置文件间的属性采用叠加并覆盖的形式作用于程序。如果同一个目录下,有application.yml也有application.properties,默认先读取application.properties。如果同一个配置属性,在多个配置文件都配置了,默认使用第1个读取到的,后面读取的不覆盖前面读取到的。先后加载顺序:若application 和bootstrap 在同一目录下:bootstrap先加载 application后加载。

2024-08-19 18:22:40 2090

原创 Flink流式框架过程问题

注:博主使用的版本就是:1.16.1

2024-08-05 14:35:52 786

原创 KAFKA-06-kafka 脚本命令使用详解

【代码】KAFKA-06-kafka 脚本命令使用详解。

2024-08-05 11:46:34 1425

原创 Flink异步IO 调用算法总是超时

记录一次使用Flink 异步调用IO 总是超时的bug注:博主使用的版本就是:<flink.version>1.16.1</flink.version>

2024-08-05 10:16:11 562

原创 Elasticsearch 中 _update_by_query 和 _delete_by_query

我们可以从tags属性中删除一个元素。请注意,为了避免运行时错误需要先判断是否存在待删除的元素。注:可以使用脚本在update API中用来改变_source字段的内容,它在更新脚本中称为:ctx._source。将_id 为 2的记录 userid 更新为6,nickname更新为 “王二”

2024-07-25 18:20:01 1270

原创 Flink -2-Flink 算子和java代码简单使用

文章目录DataSet 批处理算子一、Source算子1. fromCollection2. readTextFile3. readTextFile:读取压缩文件二、Transform转换算子1: map2:flatMap3:Filter 算子4:Reduce 算子5:Aggregations6:Distinct 算子7:First 算子8:Join 算子9:Outer Join 算子10:Cross 算子11:Union 算子三、Sink算子1. collect2. writeAsTextDataStre

2024-07-25 11:50:51 1342

原创 Flink -1- 简介和运行架构

这几年大数据的飞速发展,出现了很多热门的开源社区,其中著名的有 Hadoop、Storm,以及后来的 Spark,他们都有着各自专注的应用场景。Spark 掀开了内存计算的先河,也以内存为赌注,赢得了内存计算的飞速发展。Spark 的火热或多或少的掩盖了其他分布式计算的系统身影。就像 Flink,也就在这个时候默默的发展着。在国外一些社区,有很多人将大数据的计算引擎分成了 4 代,当然,也有很多人不会认同。我们先姑且这么认为和讨论。

2024-07-24 16:31:12 5228 1

原创 Flink -3- 一文详解安装部署以及使用和调优(standalone 模式 | yarn 模式)

Yarn Application 与Per-Job 模式类似,只是提交任务不需要客户端进行提交,直接由JobManager来进行任务提交,每个Flink Application对应一个Flink集群,如果该Flink Application有多个job任务,所有job任务共享该集群资源,TaskManager也是根据提交的Application所需资源情况动态进行申请。Flink可以基于Yarn来运行任务,Yarn作为资源提供方,可以根据Flink任务资源需求动态的启动TaskManager来提供资源。

2024-07-24 11:58:44 5107

原创 项目实用linux 操作详解-轻松玩转linux

tar xxx.tar.gz 打包的内容命令参数:-c 建立新的压缩文件-f 指定压缩文件-r 添加文件到已经压缩文件包中-u 添加改了和现有的文件到压缩包中-x 从压缩包中抽取文件-t 显示压缩文件中的内容-z 支持gzip压缩-j 支持bzip2压缩-Z 支持compress解压文件-v 显示操作过程示列:tar -cvf log.tar 1.log,2.log 将1.log和2.log文件全部打成tar包。

2024-07-18 18:31:12 1250

原创 Docker 镜像使用和安装

Docker是一个开源的应用容器引擎;是一个轻量级容器技术;Docker支持将软件编译成一个镜像;然后在镜像中各种软件做好配置,将镜像发布出去,其他使用者可以直接使用这个镜像;运行中的这个镜像称为容器,容器启动是非常快速的。数据卷(volume) 是一个虚拟目录,指向宿主机文件系统中的某个目录。一旦完成数据卷挂载,对容器的一切操作都会作用在数据卷对应的宿主机目录了。

2024-07-18 10:14:07 7633 2

空空如也

空空如也

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

TA关注的人

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