自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 vben5项目中切换国际化时项目刷新

本文介绍了在Vben5前端项目中实现语言切换功能时遇到的问题及解决方案。作者最初在locales/index.ts文件中进行语言切换,发现切换后页面刷新导致语言重置。通过分析,确定应在language-toggle.vue组件中实现切换逻辑。改进后的代码添加了加载状态控制,通过updatePreferences更新语言偏好,使用loadLocaleMessages加载语言包,并在nextTick后延迟刷新页面以确保组件重新加载。同时加入了错误处理和加载状态指示器,提升了用户体验。该方案有效解决了语言切换时页

2026-01-14 20:54:47 135

原创 spring-ai快速上手,接入deepseek大模型

本文介绍了如何在Spring Boot项目中快速集成Spring-AI模块并调用DeepSeek大模型实现AI问答功能。文章对比了Spring-AI和LangChain4j两大AI框架的适用场景,推荐Spring Boot项目优先选择Spring官方维护的Spring-AI。具体实现步骤包括:引入spring-ai-bom依赖管理、添加DeepSeek模型依赖、配置API密钥、以及两种调用方式(阻塞式和流式输出)的代码示例。此外,还详细说明了模型参数配置方法(如温度、最大Token数等),并介绍了通用Cha

2025-12-17 22:47:55 1056

原创 spring boot项目中Lombok注解失效问题

但是我发现明明已经在pom文件中引入了lombok的坐标,并且在项目代码中也能正常的使用Lombok的注解。然后一直没有往pom文件的Build插件方面考虑,当时反反复复的看了我的依赖项,发现是由Lombek坐标的,然后可以只用@Data注解,就是get、set方法都不能被扫描到的时候。我找了一大圈,发现是新版的spring boot项目,如果你在创建项目的时候,直接顺手勾选了Lombek的注解时,spring boot官方会自动引入一个maven插件,然后这个maven插件会自动把Lombek给排除掉。

2025-03-20 21:52:50 747 2

原创 spring boot项目中设置默认的方法实现

本文介绍了在SpringBoot项目中如何为接口提供默认实现并支持自定义重写。通过定义接口TestIntface包含默认方法,并创建默认实现类TestIntfaceImpl。使用@ConditionalOnMissingBean注解确保仅当没有其他实现时才注入默认Bean。重点说明了不能直接在实现类上使用@Component+@ConditionalOnMissingBean的组合,因为Spring的加载顺序会导致条件判断失效。正确做法是在配置类中通过@Bean方式声明默认实现。

2026-01-19 21:17:08 165 1

原创 spring boot项目实现国际化翻译

本文介绍了在SpringBoot项目中实现国际化的两种方案。对于单体项目,通过MessageSource接口和properties资源文件实现多语言支持,并展示了如何使用拦截器动态切换语言环境。针对微服务架构,提出基于Nacos配置中心的解决方案,将多语言配置集中管理,通过工具类读取远程配置并支持热更新。两种方案都提供了完整的代码示例,包含语言拦截器、消息占位符处理等核心功能实现,帮助开发者快速为项目添加国际化支持。

2025-11-04 10:07:44 1378 1

原创 spring boot项目快速整合xxl-job实现定时任务

XXL-Job是一个开源的分布式任务调度系统,提供可视化界面管理定时任务。系统采用调度中心+执行器架构,支持集群部署。使用流程包括:1)配置执行器并注册;2)创建调度任务;3)实现任务处理逻辑;4)监控任务执行。项目集成需引入xxl-job-core依赖,并配置执行器信息。支持Bean模式任务开发,通过@XxlJob注解实现任务处理器。调度中心提供手动触发任务、查看执行记录等功能。注意执行器AppName必须与业务模块名称一致,JobHandler需与代码注解值匹配。

2025-10-29 22:15:43 762

原创 实现excel的树形导出

摘要:本文介绍了使用Apache POI实现树形结构Excel导入导出的解决方案。作者认为Excel不适合展示树形数据,但迫于公司要求实现了该功能。方案采用合并单元格方式构建层级关系,动态设置表头,并确保导入时能正确解析数据。关键点包括:1)使用唯一字段构建层级关系;2)动态计算最大层级;3)处理合并单元格;4)数据清洗时区分新增/修改。文中提供了完整的Java代码实现,包括样式设置、表头创建、数据填充和树形结构重建等核心逻辑。作者欢迎同行提供更好的实现方案。

2025-09-20 12:56:54 707

原创 构建树形结构的通用方法

本文介绍了一个基于Java的树形结构构建工具类TreeStructureBuilder。该工具使用JDK21虚拟线程优化性能,主要功能是将平层数据列表转换为树形结构。核心方法buildTree支持两种构建方式:默认根节点parentId为1L,或自定义根节点parentId值。实现原理是通过两次遍历:第一次建立节点映射和父子关系映射,第二次递归构建完整树形结构。工具类要求数据结构包含id、parentId和children字段,并提供了字段验证方法。使用示例展示了如何将扁平数据转换为树形结构,适用于需要处理

2025-09-15 16:43:40 249

原创 mybatisX的自定义模板生成

本文介绍了在IDEA中使用MyBatis自定义模板生成代码的方法。主要涉及两个核心文件:Mapper接口模板和XML映射文件模板。Mapper接口模板包含常用CRUD方法,支持批量操作和唯一性校验注解;XML模板提供基础SQL映射、结果集定义及动态SQL功能。文章详细说明了模板中的变量引用方式,包括表结构信息(tableClass)、字段属性(field)等元数据。同时提供了恢复默认模板的方法,并列出MyBatisX插件支持的各类对象属性映射关系。通过使用这些自定义模板,可以显著减少重复代码编写,提高开发效

2025-07-25 14:29:32 894

原创 mybatis拦截器实现唯一索引的动态配置

本文提出了一套完整的数据库表唯一性约束校验方案。首先分析了传统数据库唯一索引的局限性,如错误信息不友好、单次报错等问题。然后提出了一种基于Java注解和MyBatis拦截器的通用解决方案:1.通过@UniqueField和@UniqueFields注解标注需要校验的字段;2.使用工具类在业务层进行预校验;3.通过MyBatis拦截器实现自动校验,无需编写额外SQL。该方案支持多字段批量校验、中文错误提示、逻辑删除处理等功能,将校验逻辑从数据库层提升到应用层,提高了开发效率和用户体验。最后通过示例展示了如何在

2025-07-22 09:55:32 1050

原创 spring boot项目整合百度翻译

本片文章教大家怎样在spring boot项目中引入百度翻译,并且优雅的使用百度翻译。首先,我们要了解为什么要使用翻译插件。为了支持多语言的国际化;目前市面上最常见的后端国际化就是在resource资源目录下设置多个语言文档,这些文档中是一些key、value类型的键值对,然后我们展示的时候语言不直接写死,而是通过使用key的形式来进行引用,从而实现国际化的方式。但是这种方式有很大的局限性。我们要做的国际化只能是一些提前写死的键值。这就很不友好了;我们公司的业务需求是,我只要点击切换语言之后。

2025-06-25 21:48:18 1218

原创 spring boot项目整合mybatis实现多数据源的配置

在我们日常的开发中,经常会用到一个项目中使用多个数据源的问题,本次就带你了解怎样在spring boot项目中使用mybatis整合多个数据源的示例。使用spring boot3.5版本。

2025-06-12 20:43:35 1341 1

原创 AOP封装进行批量的数据查询并填充

在我们日常的项目开发中,我们经常会遇到这样的问题。我们有一张用户表,用户表中有用户ID和用户名称。我们其他表中会记录我们当前操作人的ID,一般,我们会记录一个创建人ID和修改人ID。那么,这个时候问题来了,我们在查询数据的时候,怎样优雅的根据用户ID来查询出相应的用户名称,并且填充到我们返回给前端的数据中。我们每次在查询数据的时候,都与用户表进行关联查询吗?每次根据创建人的ID和修改人的ID来查询出用户姓名,然后填充到我们返回的数据中?

2025-05-07 21:30:25 746

原创 flyway的校验原理

机制来检测脚本内容的变化,接下来我们来了解一下具体的判断逻辑和操作方法。脚本的校验和变化会被 Flyway 识别,但不会报错。我们经常使用flyway的都知道,Flyway 通过。Flyway 会对每个迁移脚本的内容计算一个唯一的。(包括空格、注释、字符大小写等),其校验和会发生变化。通过校验和机制,Flyway 确保了数据库迁移的。:回滚代码到原始版本,或创建新版本脚本修复问题。计算每个脚本的校验和(基于文件内容)。脚本,并更新元数据表中的校验和记录。脚本的本地校验和与数据库记录不一致。

2025-03-02 17:35:07 1525

原创 spring boot整合flyway实现数据的动态维护

以上,就是我们使用spring boot整合flyway来进行数据库的版本管理。总体来说是非常简单的,我们只需要一些简单的配置和遵守一些flyway的命名规定就可以直接使用flyway了。这也是spring官方一直在努力推行的约定大于配置,配置大于编码当然,flyway的功能还有很多,这篇文章也只是初步帮你认识一下flyway。spring:flyway:# 基础配置enabled: true # 是否启用 Flyway,默认 true。

2025-03-02 16:26:40 1474

原创 唯一字段的修改

我们要根据这个编码值去数据库中进行查询,如果能查询到,就说明编码值已经存在,这边数据就不能修改。当原编码值没有改变时,这就是一次普通的修改,我们直接执行SQL语句就好了。那么我们怎样判断原编码值有没有改变呢,我们可以根据ID来查询数据库中的数据信息与我们要修改数据信息进行比较。在我们进行开发中,有一个很常见的功能就是,我们要实现一张数据表中一个字段的唯一性。我们要实现的是,在这张表中这个字段是唯一的。我们修改数据一般是根据数据额度ID来进行数据的修改。这个是我们比较容易想到的,那么我们修改的时候呢;

2025-02-27 17:37:21 299

原创 本地电脑部署deepseek大模型

要说现在最火的AI大模型,deepseek说第二就没人敢说第一。本次教大家怎样在本地自己的电脑上部署一个独属自己的AI大模型。本次我们使用Ollama进行部署大模型。Ollama 是一个开源项目,旨在简化和优化大规模语言模型的部署和使用。它提供了一个框架,帮助开发者和研究人员更高效地训练、微调和部署大型语言模型。需要提前说明的一点是,由于我们本地电脑的局限性,所以我们是几乎是不可能部署到与官网功能相同的大模型的。我们部署在本地的都是阉割版的大模型。

2025-02-11 10:00:00 1444

原创 三种加密方式的比较

摘要加密,也称为消息摘要或哈希算法,是一种将任意长度的输入数据转换为固定长度的输出字符串的算法。这个输出字符串通常称为摘要值或哈希值。不可逆性:一旦生成了摘要值,就无法从摘要值反推出原始数据。这意味着摘要算法是不可逆的,只能用于验证数据的完整性和唯一性,而不能用于解密数据。确定性:对于相同的输入数据,摘要算法总是会产生相同的输出结果。这意味着摘要值可以用于验证数据的真实性和完整性,因为相同的输入数据总是会产生相同的输出结果。雪崩效应:当输入数据发生微小变化时,摘要值会产生极大的差异。

2025-01-14 17:30:49 959

原创 spring boot项目启动时自定义logo

在使用spring boot框架来进行web开发时,每次启动项目都会有一个默认的logo。这个是spring官方的logo标识,但是,我们也可以把这个标识换成自己想要的标识。的文件(注意文件的名字一定要叫banner.txt,这样spring框架才能识别到),并将你的文本内容放入其中。我们想要替换掉这个logo也很简单,我们只要在项目的resources资源目录下放置一个文件就可以了。Spring Boot 会在启动时自动读取这个文件并显示其内容。这些网站可以生成你想要的艺术字。

2025-01-03 16:13:11 1272

原创 工作中问题

maven的依赖具有传递性,当你项目中依赖了A坐标,A坐标中可能依赖了B坐标。所以,当你刷新maven时,显示,找不到某一个坐标C,但是你的项目中,没有依赖坐标C,那么可能坐标C在你依赖的依赖里面,进行仔细的查找。总结来说,如果你没有遇到JavaScript中的精度问题,或者前端没有特别要求以字符串形式接收。本人是一个刚工作的后端工程师,这篇文章记录工作中遇到的问题。如果你有上述提到的任何需求,那么使用这个注解将。我这次就有一个Long类型的ID,由于没有使用。同样是@Param注解,相应的。

2024-11-05 17:11:30 691

原创 使用docker进行前后端分离的微服务项目部署上线

对于我们个人开发者而言,开发完一个项目之后,总会有一个问题就是这个项目要不要部署上线。本次就使用docker将我开发好的一个前后端分离的微服务项目部署上线。本次部署项目用到了宝塔面板来进行实时的监控,如果你没有安装宝塔面板,可以参考一下这篇文章。注意宝塔面板的放行,下载完宝塔之后,我们直接使用可视化页面进行项目的部署。点击docker,直接使用可视化页面的方式进行下载。下载完docker之后,进行docker加速镜像的配置;如果不存在如果已经存在现在,我们已经可以开始进行docker容器化的部署了。

2024-09-12 13:40:18 1334

原创 启动spring boot项目时,第三方jar包扫描不到的问题

在这个启动类中,我们加上了@ComponentScan注解,并在这个注解上指定了一个路径,那么现在spring boot项目启动时就只会扫描com.zq.testspringboot包下的内容。为启动类所在包和子包。如果我们需要扫描其他模块的包或者第三方的jar包,我们就要单独使用@ComponentScan注解扫描,或者直接在@SpringbootApplication注解中指定扫描的第三方路径。,也就是说不能够扫描启动类所在包以及子包了,因为它被@ComponentScan注解中指定的包扫描覆盖了。

2024-09-05 20:53:43 1624 1

原创 解决使用uniapp时,uni.switchTab跳转标签页面不刷新的问题

我们在使用uni.switchTab跳转到标签页面时,并不会触发这个标签页面的onLoad方法。这是因为,所以使用 uni.switchTab跳转时,并不会重新创建页面实例,因此不会触发 onLoad生命周期方法。但是我们又会有这样的场景,在进入到标签页时,要调用一些方法来进行数据的展示,那么这时候,我们有三种常见的解决方案。

2024-08-18 16:07:34 6042 1

原创 uniapp连接手机调试App,并最终打包成apk文件,并最终上传到应用商店

对于一些刚开始使用uniapp开发app的同学来说,有时候仅仅是第一步连接手机进行开发测试都很难进行。这篇文章就来向大家介绍一些怎样连接手机进行调试我们开发中的项目,并最终将开发好的项目打成apk包进行安装,和将开发好的App应用上传到应用商店的一系列问题。

2024-08-06 22:40:47 4008 2

原创 uniapp创建一个新项目并导入uview-plus框架

但是由于硬件设施的不同,我们往往对于同一款应用的两个不同端要编写两次代码,而这些代码中有很多都是可以复用的,那么有没有一张可能,我们只编写一次代码就能满足不同的设施需求呢。,是全面兼容nvue的uni-app生态框架,全面的组件和便捷的工具会让您信手拈来,如鱼得水,基于uView2.0初步修改,后续会陆续修复vue3兼容性,以及组合式API改造等。现在,我们要在项目中引入uview-plus框架,这个框架的作用是帮我们写出一些符合大众审美的样式,避免我们自己再进行复杂的样式编写。接下来,我们言归正传。

2024-08-05 23:28:50 2375

原创 使用git命令行的方式,将本地项目上传到远程仓库

在国内的开发环境中,git的使用是必不可少的。Git 是一款分布式版本控制系统,用于有效管理和追踪文件的变更历史及协作开发。本片文章就来介绍一下怎样使用git命令行的方式,将本地项目上传到远程仓库,虽然现在的IDE中基本都配置了git的可视化操作,但我们还是应该掌握使用命令行的形式上传文件。1、。2、git initgit add .注意这个命令的前提是在项目的根路径下才可以。add后面的“.”表示当前目录下的所有文件;

2024-07-28 23:03:56 5836

原创 快速上手,spring boot3整合task实现定时任务

当然,使用fixedRate参数只能实现简单的定时任务,假如我们的定时任务比较复杂呢。比如,我们要自定义任务的开始时间和执行间隔,这时fixedRate已经不能满足我们的需求了,我们需要使用另一种方法,cron表达式。1、创建一个spring boot项目,并在项目的启动类(也不一定非要是启动类,只要@Configuration注解标识过的配置类就行)上加@EnableScheduling注解。在已经上线的项目中,定时任务是必不可少的。我们需要的时候,直接使用图形化的界面点击生成相应的cron表示式即可。

2024-07-22 22:03:11 1860

原创 前后端分离的后台管理系统开发模板(带你从零开发一套自己的若依框架)上

目前,前后端分离开发已经成为当前web开发的主流。目前最流行的技术选型是前端vue3+后端的spring boot3,本次。就基于这两个市面上主流的框架来开发出一套基本的后台管理系统的模板,以便于我们今后的开发。前端使用vue3+element-plus开发。后端使用spring boot3+spring security作为项目的支撑,使用MySQL8.0.30作数据存储,使用redis作缓存,使用minio作为项目的存储机构。后台管理系统是非常的,本项目使用市面上最流行的RBAC模型。

2024-06-29 21:58:19 1453

原创 购买服务器,并安装宝塔

我们在开发项目时,总会遇到一个问题,就是将我们开发好的项目上传的公网中。对于中小型的项目,我们可以通过购买服务器进行项目的上线。我们的项目一般是部署在Linux环境中。如果你不是专业的运维人员,可能对于一些组件的环境搭建就显得很烦躁。那么现在宝塔的出现就可以解决这个问题。它提供了可视化的界面。能够帮我们更加快速地部署项目上线所需要的环境。宝塔面板(BT Panel)是由北京宝塔网络技术有限公司开发和维护的。它是一款国内知名的服务器管理控制面板,于2014年首次发布。

2024-06-22 22:05:26 1213

原创 javaSSM整合的一个小项目(员工管理系统)

一个使用SSM开发的一套员工管理系统,用来完成《Java的企业级应用开发》期末结课的一个小项目。。。。

2024-06-12 21:59:23 1025

原创 SSM框架整合,内嵌Tomcat。基于注解的方式集成

SSM相信大家都不陌生,在spring boot出现之前,SSM一直是Java在web开发中的老大哥。现在虽说有了spring boot能自动整合第三方框架了,但是现在市面上任然有很多老项目是基于SSM技术的。因此,能熟练掌握SSM进行开发也是非常重要的。对于新的项目,我当然是推荐直接用spring boot,但是对于像SSM技术的项目,我们必须也能够熟练上手。(虽说现在电动车很方便,但我们也要会骑自行车)SSM(Spring+SpringMVC+MyBatis)是一种经典的Java Web开发框架组合。

2024-06-06 09:14:42 1149

原创 springboot3的自动装配原理

都说spring boot是约定大于配置的,那么为什么要这样设置,本篇文章就来了解一下spring boot的自动配置原理。让你了解一下spring boot是如何启动工作的。

2024-05-17 19:11:07 1609

原创 springboot3整合pageHelper实现分页功能

PageHelper是一个开源的Java分页插件,它提供了方便的分页查询功能,适用于大多数基于Java的持久层框架(如MyBatis、Hibernate等)。在一个程序中难免会使用到查询操作,在查询操作中如果数据量太大则需要进行分页查询,分页操作的实现方法有很多,比如:在 mybatis 中 xml 文件中通过 limit 关键字进行分页查询,该插件就是为了简化在 xml 中进行分页操作的工具;

2024-05-16 13:54:04 5102

原创 在vue3项目中设置错误路径的统一跳转

在我们前端开发过程中,如果,访问到了错误的或者不存在的路径,那么会直接出现空白。在一个完整的项目中,应该给用户一些友好的提示,显示他访问到了错误的页面。我们可以专门的创建一个错误界面的.vue文件,并在创建路由时,指定所有错误的路径都直接显示这个错误界面,这样就对我们的使用人员非常友好了。当然,我这个错误页面就显得非常粗糙了,如果,你可以自己设置一个错误页面的组件。这样,当用户访问项目中不存在的路径时,就会自动跳转到 404 页面,并显示相应的错误信息。可以看到正确的显示出了,我们想要的结果。

2024-04-29 13:34:02 1180

原创 前后端分离,使用sa-token作为安全框架快速搭建一个微服务项目

之前的项目是一个基于B2C的单体商城项目。使用到的技术栈有spring boot3.1.5、MySQL8.0.30、redis7.0.10,使用minio作为项目的文件上传,使用spring security作为项目的安全框架;使用vue3+element-plus开发前端,并最终将整个项目部署到nginx上。本次重新拆分这个单体项目,使之成为一个微服务项目。

2024-04-29 08:25:19 2775 7

原创 springboot3整合redis

可以看到,我们选择自定义redis的实现之后。使用起来就方便了很多,如果是比较简单的项目,那么使用StringRedisTemplate就可以解决相应的业务问题,但是在复杂的项目中,建议还是自定义一个RedisTemplate的实现类,使用自己的实现类会更方便一些,也更利于项目的扩展。(注意使用的时候,要注入相应的泛型,不然会提示找不到相应的依赖)在spring boot3版本之前,如果不注入泛型也可以,但是在3.0版本之后,如果不指定相应的泛型,那么在启动的时候就会报错,显示找不到相应的类型。

2024-04-27 15:09:08 2614

原创 Windows电脑中护眼(夜间)模式的开启异常

询问了微软的客服之后,发现了问题的所在。当更新版本之后,显示适配器的驱动程序可能过时、损坏或不兼容,这可能导致适配器无法正常工作。当”显示适配器出现异常之后,可能会导致屏幕闪烁、分辨率异常、色彩失真或者显示器无法正常工作等显示问题。之前一直可以正常使用夜间模式,但是经过一次电脑的版本更新之后,我重启电脑发现我的夜间模式不能使用了。卸载驱动后,重启电脑,计算机将自动安装默认的驱动程序。之后就可以正常的使用夜间模式了(注意要将显示适配器下的所有驱动删除)”,点击显示适配器下方所有点驱动右击卸载。

2024-04-25 20:15:19 7042

原创 阿里云OSS对象存储的使用和快速入门

云存储是一种通过互联网连接的服务,允许用户将数据存储在远程的云服务器上,而不是存储在本地设备上。这些数据可以包括文件、数据库、备份等各种类型的信息。云存储服务提供商通常会管理和维护这些存储设施,并提供用户可以访问、管理和共享数据的工具和接口。国内有名的大公司都有提供专门的存储服务,我们自需要进行购买就可以使用了。

2024-04-21 18:25:44 3191 2

原创 redis的主从复制(docker方式快速入门和实战)

主从复制,是指将一台Redis服务器的数据,复制到其他的Redis服务器。前者称为主节点(master),后者称为从节点(slave);数据的复制是单向的,只能由主节点到从节点。从 Redis 2.6 开始, 从服务器支持只读模式, 并且该模式为从服务器的默认模式。只读模式由 redis.conf 文件中的 slave-read-only 选项控制, 也可以通过 CONFIG SET parameter value (opens new window)命令来开启或关闭这个模式。

2024-04-13 15:55:57 1262

原创 springboot3整合consul实现服务注册和配置管理快速入门

在微服务的世界中,服务注册是必不可少的。现在比较流行的也就是Consul和Nacos,Zookeeper没有管理界面,一般不建议使用,而Eureka已经处于停更,并且本身就存在很多bug,一般不建议使用!现在,就在介绍以下使用consul实现服务注册和配配管理。先简单介绍一下Consul:Consul 是HashiCorp公司推出的开源工具,用于实现分布式系统的服务发现与配置。

2024-04-09 21:55:36 2184

使用docker,安装es、kibana和ik分词器

es的部署环境

2023-11-26

javaSSM整合的一个小项目(员工管理系统)

javaSSM整合的一个小项目(员工管理系统)

2024-06-12

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

TA关注的人

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