自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

宋冠巡的博客

软件开发

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

原创 MyBatis-Flex 多数据源配置行为解析:为什么 SpringBoot 默认数据源会失效?(原生 spring.datasource 配置失效)

在 SpringBoot 项目中使用 MyBatis-Flex 配置多数据源时,发现原生 spring.datasource 配置失效,且未显式指定数据源的 SQL 操作会默认使用 MyBatis-Flex 配置的第一个数据源。本文通过两个测试场景解析这一现象。

2025-06-06 08:15:00 2301

原创 MyBatis-Flex多数据源:在SpringBoot3中使用MyBatis-Flex实现多数据源

本文所指的多数据源,指的是:单个服务 使用 多个数据源。在SpringBoot3集成MyBatis-Flex后,使用框架提供的多数据源功能,能够实现单个服务使用多个数据源。

2025-06-06 08:00:00 1344

原创 MyBatis-Flex APT 自动生成Mapper类(无需配置注解处理器 + APT 过滤 Entity 后缀)

在使用 MyBatis-Flex 框架时,根据表对应的实体类,自动生成Mapper类,在源代码中不需要Mapper类原代码,使用Mapper时可以正常使用。类似于Lombok编译期自动生成 set 和 get 方法,在编译期自动生成Mapper类。

2025-05-26 08:00:00 1809

原创 MyBatis-Flex配置Druid(德鲁伊数据库连接池):Spring Boot 3 集成 MyBatis-Flex 配置 Druid 连接池指南

本文详细讲解在 Spring Boot 3 项目中集成 MyBatis-Flex 框架后,如何正确配置 Druid 数据库连接池。针对开发者常见的配置缺失导致启动失败的场景,提供完整的解决方案和原理分析。

2025-05-13 08:00:00 1350

原创 MyBatis-Flex 快速开始(Spring Boot 3 整合 MyBatis-Flex)

根据 MyBatis-Flex 官网的 【快速开始】章节,创建应用并测试。Spring Boot 3 整合 MyBatis-Flex。

2025-05-09 08:00:00 1608

原创 Spring事务自调用失效问题解析:Spring 的事务管理基于 AOP 代理实现,自调用会绕过代理,导致 @Transactional 注解失效

在Spring框架中,事务管理基于AOP代理机制实现。当在同一个类中进行 自调用(方法内部调用另一个带有@Transactional注解的方法) 时,事务注解会失效。这是因为自调用绕过了AOP代理,直接调用原始对象的方法,导致事务拦截器无法生效。

2025-04-28 08:00:00 1216

原创 SpringBoot集成ActiveMQ:异常处理与可靠消息消费实践(try-catch避免重试)

SpringBoot集成ActiveMQ:异常处理与可靠消息消费实践(try-catch避免重试)。消息必须被确认:无论消费者处理消息时是否抛出异常(包括业务异常和系统异常),消息都需被确认(从队列移除),避免触发重试机制。记录处理结果:处理成功时记录成功状态,失败时记录失败原因(包括异常信息)。避免手动确认的复杂性:尽量利用默认的自动确认模式,减少配置复杂度。

2025-04-21 08:00:00 657

原创 SpringBoot集成ActiveMQ异常处理机制:若未捕获异常,消息会被重新投递

SpringBoot集成ActiveMQ异常处理机制:若未捕获异常,消息会被重新投递。

2025-04-09 08:00:00 912

原创 SpringBoot整合ActiveMQ消费者未启动问题解析与解决方案

新建SpringBoot项目集成ActiveMQ后,应用启动即退出。原因为未配置消息监听器,导致无持续任务维持运行。通过添加`@JmsListener`注解的监听器类并确保组件扫描,使消费者正常监听队列,应用保持运行。验证消息收发功能正常,问题解决。

2025-04-07 08:15:00 1060

原创 Ubuntu安装Docker引擎指南

本指南以Docker官方文档《在Ubuntu上安装Docker引擎》为基础整理,并演示在Unbuntu中安装Docker的全过程。

2025-04-07 08:00:00 978

原创 Docker版本命令深度解析:docker --version 与 docker version 的关键差异及使用场景

docker --version 和 docker version 都是用于查看 Docker 版本信息的命令,但它们的输出内容和使用场景有所不同。docker --version 仅显示 Docker 客户端(CLI)的版本号,输出简洁,不包含服务器(Docker Daemon)或其他详细信息。docker version 显示 Docker 客户端和服务器(Docker Daemon)的详细版本信息,包括两者的版本、API 版本、Go 版本、构建时间、操作系统架构等。

2025-04-03 08:15:00 767

原创 Windows安装Docker(Docker Desktop)

一、Windows安装Docker简明步骤二、安装过程示例

2025-04-03 08:00:00 6521 1

原创 本地部署大模型:Ollama + DeepSeek + Chatbox(Windows 10)

本文介绍如何使用 `Ollama` 一键部署 `DeepSeek` 大模型,使用 `可视化工具(Chatbox)` 优化使用体验,最后对模型进行基本测试。本地化部署大模型(如 DeepSeek)的核心原因在于满足特定场景下对 **数据安全**、**性能控制**、**合规性**和**定制化需求** 的严格要求。使用 `Ollama` 一键部署 `DeepSeek` 大模型,适用场景为:快速本地体验,无需编码。

2025-02-28 08:00:00 1018

原创 Spring Boot集成MyBatis访问MySQL:项目搭建全流程(包含报错场景分析及解决方案)

本文记录完全从零开始,创建一个新的集成MyBatis的SpringBoot项目,然后逐渐添加配置,使项目能够正常访问数据库的整个流程,并且详细记载了每一个报错和解决错误的过程。

2025-02-27 08:00:00 1587

原创 Spring Boot集成MyBatis访问MySQL:从项目搭建到基础数据库查询(基础入门)

在当今企业级应用开发中,Spring Boot、MyBatis与MySQL的组合凭借其高效性和灵活性,成为构建数据驱动型应用的首选方案。本文将带你从零开始搭建项目,掌握Spring Boot集成MyBatis的基础入门内容。

2025-02-26 08:00:00 1988

原创 IDEA 插件 Grep Console:控制台日志的高亮与过滤利器

Grep Console 是 IntelliJ IDEA 的一款插件,主要用于增强控制台输出的可读性和可操作性。它通过高亮显示、过滤等功能,帮助开发者更高效地处理控制台信息。

2025-02-20 08:00:00 2331

原创 在Spring Boot集成ActiveMQ的场景中,使用@JmsListener注解的消费者方法中的数据库操作是否为事务性

@JmsListener方法的JMS事务和数据库事务。SpringBoot集成ActiveMQ,消费者 @JmsListener 方法中要执行修改数据库操作,请问这个方法是一个事务吗?

2025-02-19 08:00:00 1029

原创 审计信息说明和设计(AI问答,仅供参考)

如果需要更复杂的审计信息(如记录具体的业务操作),可以通过AOP(面向切面编程)实现。Spring Data JPA审计:适合记录实体的创建和修改信息。自定义审计日志:适合记录复杂的业务操作。日志框架:适合将审计信息记录到日志文件中。根据具体需求,可以选择一种或多种方式来实现审计信息模块。

2025-01-16 00:11:31 386

原创 API鉴权功能实现与模块选择:鉴权账号已注册

鉴权功能通常应该在系统的安全模块或API网关中完成。具体实现方式可以根据系统的架构和需求来决定,本文分析了常见的实现方案。

2025-01-14 08:30:00 1071

原创 项目团队SQL标准统一工具与方法(AI问答,仅供参考)

在项目中,如何保证团队成员全部遵守SQL标准,有一些工具能够帮助统一SQL格式吗?

2025-01-13 08:15:00 771

原创 SpringBoot MyBatis SQL大小写最佳实践(确保团队遵守SQL大小写规范)

编写SQL语句时,字母大小写的选择会影响代码的可读性和一致性。SQL关键字:大写表名和列名:小写或蛇形命名法别名:小写或驼峰命名法动态SQL:小写或驼峰命名法参数占位符:驼峰命名法

2025-01-13 08:00:00 933

原创 Eureka Client 服务消费者(调用API接口)(使用OpenFeign)

本文将指导你如何创建一个`Spring Boot`应用程序作为`Eureka Client`服务消费者,该服务消费者会从`Eureka Server`获取服务提供者的列表,并通过该列表与具体的服务提供者进行通信。在本文中,服务消费者使用 `OpenFeign` 调用服务提供者的API接口。

2025-01-03 08:15:00 1221

原创 Eureka Client 服务提供者(提供API接口)

本文将指导你如何创建一个Spring Boot应用程序作为Eureka Client服务提供者,该提供者会自动向Eureka Server注册自己,并定期发送心跳来维持其在线状态。

2025-01-03 08:00:00 864

原创 创建Eureka Server(注册中心)详解

本文详细介绍了如何使用Spring Boot创建Eureka Server (注册中心),并探讨了是否必须使用Spring Boot来搭建Eureka Server的问题。

2024-12-09 08:15:00 1652

原创 Eureka(服务发现)介绍,创建Eureka Server (注册中心),创建Eureka Client(服务提供者或消费者)

Eureka 是 Netflix 开发的服务发现工具。它由两个主要组件组成:Eureka Server 和 Eureka Client。

2024-12-09 08:00:00 2025

原创 SpringBoot与SpringCloud版本映射,Spring Cloud BOM

如果您有一个现有的 Spring Boot 应用程序,您希望将Spring Cloud添加到该应用程序中,第一步是确定您应该使用的Spring Cloud版本。您在应用中使用的版本将取决于您使用的 Spring Boot 版本。

2024-12-09 07:45:00 1529

原创 MyBatis预编译语句(Prepared Statements)防止SQL注入

MyBatis 是一个流行的 Java 持久层框架,它简化了数据库操作,同时支持预编译语句(Prepared Statements)以防止 SQL 注入。在 MyBatis 中使用预编译语句主要通过映射文件(如 XML 文件)或注解来定义 SQL 语句,并利用参数绑定机制来安全地传递参数。

2024-12-04 08:15:00 647

原创 预编译语句(Prepared Statements)防止SQL注入的原理

预编译语句(Prepared Statements)是一种数据库访问技术,它通过将SQL查询与参数分开处理来有效防止SQL注入攻击。

2024-12-04 08:00:00 1107

原创 Spring Boot Validation 、Jakarta Validation 和 Hibernate Validator 的关系

Jakarta Validation 提供了一个用于验证Java Bean的标准接口和注解。Hibernate Validator 是这个标准的具体实现,提供了更多的特性和灵活性。Spring Boot Validation 则是利用Spring Boot的特性,简化了在Spring Boot应用中集成和使用Jakarta Validation和Hibernate Validator的过程。

2024-12-03 08:15:00 2100

原创 Spring Boot Validation 封装自定义校验注解和校验器(validation-spring-boot-starter)

对于基于Spring Boot的应用程序来说,创建一个自定义校验注解并将其封装为一个启动器(starter),不仅可以提高代码的重用性和简化集成过程,还能确保项目之间的标准化和一致性。封装自定义 `校验注解` 和 `校验器` 的 SpringBoot 场景启动器:`validation-spring-boot-starter` 。本文简述了封装方法和启用后的效果。

2024-12-03 08:00:00 1162

原创 【参数校验】的实现方案:前端校验、后端校验、数据库校验

参数校验的实现可以根据具体的应用场景、技术栈和业务需求选择不同的方法。以下是几种常见的实现方式,以及在不同层次(如前端、后端、数据库层)上如何进行参数校验的指导。1. 前端校验2. 后端校验3. 数据库层校验

2024-12-02 08:11:13 1847

原创 从业务角度阐述【参数校验】的意义(参数校验:构建稳健、安全与高效业务系统的基石)

从业务角度阐述【参数校验】的意义:1. **提升用户体验**2. **保证数据的准确性和完整性**3. **强化系统安全防护**4. **增强系统稳定性**5. **维护业务逻辑的一致性**6. **提高性能效率**7. **减少维护成本和技术支持负担**8. **满足合规性要求**9. **促进团队协作与沟通**

2024-12-02 08:00:00 475

原创 SpringBoot3.4.0和OpenFeign4.1.4不兼容

SpringBoot升级到3.4.0版本,和OpenFeign不兼容,maven install 时报错,即使OpenFeign升到最新版本4.1.4,依然不兼容。SpringBoot版本降为3.3.6 ,maven install 成功。

2024-11-29 08:00:00 1348

原创 Windows10+VirtualBox+Ubuntu:安装虚拟机VirtualBox,虚拟机中安装Ubuntu

在Windows10系统中,安装虚拟机VirtualBox,VirtualBox中安装Ubuntu桌面版。

2024-11-26 08:00:00 1818

原创 使用DBeaver:新建MySQL数据库、新建用户并分配权限、连接MySQL数据库

使用DBeaver:新建MySQL数据库、新建用户并分配权限、连接MySQL数据库。

2024-11-25 08:00:00 1878

原创 Knife4j-SpringBoot3-OpenAPI3:基本使用、生产环境关闭接口文档、配置文件、配置接口文档描述信息、OpenAPI3注解

基本使用、生产环境关闭接口文档、配置文件、配置接口文档描述信息、OpenAPI3注解

2024-10-08 08:15:00 2895 4

原创 OpenFeign-查询参数-日期格式化:LocalDate、Date、@DateTimeFormat(低版本无效)

在FeignClient中的接口,使用 LocalDate 或 Date 类型表示日期,然后在实际调用远程接口时,由Feign框架将LocalDate或Date类型转为字符串类型的日期,此时需要使用@DateTimeFormat注解进行日期格式化。

2024-10-08 08:00:00 1547

原创 Vue3 + Vite 开发环境下解决跨域问题:配置代理服务器

当前端要调用服务器端的 API 接口,而服务器端没有配置 `CORS (Cross-Origin Resource Sharing)` ,此时可能会使用代理服务器来解决跨域问题。在生产环境,可能会使用Nginx来作为代理服务器;在开发环境,Vue3中可以配置内置的HTTP服务器作为代理,将请求通过代理服务器发送到目标服务器,而浏览器只会看到来自代理服务器的响应,这就可以绕过同源策略的限制。

2024-09-30 08:00:00 9953 1

原创 跨域问题、同源策略、CORS机制、Nginx解决跨域问题(AI问答,仅供参考)

跨域问题、同源策略、CORS机制、Nginx解决跨域问题。跨域问题通常是指在浏览器中由于同源策略(Same-origin policy)的限制而引起的问题。同源策略是Web安全的一个基本概念,它的目的是防止某个文档或脚本从一个来源加载资源时非法访问或修改另一个来源的资源或数据。这里的“来源”(origin)由协议(http/https)、域名(domain name)以及端口(port)三者共同确定。如果这三个条件完全相同,则认为是同源;否则,即为不同源。

2024-09-24 08:00:00 1498

转载 SpringBoot环境配置(Spring Boot Profile)

激活配置文件:当Spring Boot启动时,默认会查找并加载application.properties或application.yml中的配置。如果你希望根据不同的环境来使用不同的配置文件,可以通过激活配置文件来实现这一点。例如,你可以创建application-dev.properties或application-test.yml等文件来为开发环境或测试环境提供特定的配置。

2024-09-18 08:15:00 1273

《20221001-第14讲-什么是有限时间内能求解-问题的计算复杂性与分类.pdf》

课件:《大学计算机—计算思维导论》(战德臣 哈尔滨工业大学)-《20221001-第14讲-什么是有限时间内能求解—问题的计算复杂性与分类.pdf》 官方资源,请转到中国大学慕课MOOC,链接地址:https://www.icourse163.org/course/HIT-7001

2023-12-21

空空如也

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

TA关注的人

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