自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

风象南的专栏

公众号 [ 风象南 ] 做有思想的技术人。

  • 博客(124)
  • 资源 (42)
  • 收藏
  • 关注

原创 Spring Boot Fat Jar 的三种打包方式

对于更复杂的打包需求,可以创建自定义的Assembly描述符文件:创建<formats></formats><fileSets>-- 应用jar文件 --><fileSet><includes></fileSet>-- 配置文件 --><fileSet><includes></fileSet>-- 启动脚本 --><fileSet><includes></fileSet>-- 所有依赖 --><excludes><plugin><goals></goals>

2025-06-13 07:26:27 249

原创 SpringBoot的5种请求映射优化方式

Spring MVC使用组件将HTTP请求映射到处理器(通常是控制器方法)。通过自定义HandlerMapping,可以实现更灵活的请求路由策略,满足特定业务需求。

2025-06-12 10:17:32 448

原创 SpringBoot的4种抽奖活动实现策略

在实际项目中,我们需要根据业务需求、用户规模、性能要求等因素,选择合适的抽奖策略或组合多种策略,以构建高效、可靠、安全的抽奖系统。无论选择哪种抽奖策略,都需要关注系统的公平性、性能、可靠性和安全性,不断优化和改进。

2025-06-11 07:12:08 395

原创 SpringBoot的5种签到打卡实现方案

在实际应用中,可以根据具体需求、用户规模、安全要求和预算等因素选择最合适的方案,也可以将多种方案结合使用,构建更加完善的签到打卡系统。

2025-06-10 07:16:58 638

原创 SpringBoot的4种死信队列处理方式

Override// 记录重试失败信息try {// 存储失败消息到数据库// 添加失败信息到消息头// 发送到失败队列// 发送告警// 构造函数、getter方法等headers,new Date()死信队列是消息中间件系统中的重要安全网,通过合理的处理策略,可以提高系统的可靠性和健壮性。在实际应用中,可能需要结合多种方式,构建一个全面的死信处理框架。

2025-06-09 07:41:57 756

原创 SpringBoot的5种日志输出规范策略

</encoder><encoder>

2025-06-08 08:44:48 1082

原创 SpringBoot离线应用的5种实现方式

嵌入式数据库直接集成在应用程序中,无需外部数据库服务器,非常适合离线应用场景。在SpringBoot中,可以轻松集成H2、SQLite、HSQLDB等嵌入式数据库。本方案利用Java内存缓存框架(如Caffeine、Ehcache)结合本地持久化存储,实现数据的本地缓存和离线访问。该方案特别适合读多写少的应用场景。离线优先架构(Offline-First)是一种设计理念,它将离线状态视为应用的默认状态,而不是异常状态。在这种架构中,数据首先存储在本地,然后在条件允许时同步到服务器。

2025-06-07 08:45:34 868

原创 SpringBoot实现简易直播

采集端:负责采集、编码音视频数据流媒体服务器:处理音视频流的转发、转码和分发CDN:提供内容分发服务,解决大规模用户访问问题播放器:解码并播放音视频内容信令服务:管理直播间信息、用户状态等。

2025-06-06 07:22:21 881

原创 SpringBoot实现实时弹幕

弹幕系统允许用户发送的评论直接显示在视频画面上,这些评论会从右向左横向滚动。@Data// 弹幕内容// 弹幕颜色// 字体大小// 视频时间点// 关联的视频ID// 发送用户ID// 用户名// 创建时间@Mapper/*** 根据视频ID查询所有弹幕,按时间排序*//*** 根据视频ID和时间范围查询弹幕*/

2025-06-05 07:25:12 759

原创 SpringBoot模块化开发的5种组织方式

Bean@Bean@Bean@Bean# 在应用配置文件中@Service@AutowiredSpringBoot模块化开发提供了多种组织方式,每种方式都有其适用场景和优缺点。选择合适的模块化策略应考虑项目规模、团队结构、业务复杂度和未来演进方向。最重要的是,模块化应该是渐进式的过程,随着项目的发展不断调整和优化模块结构,以适应不断变化的业务需求和技术环境。

2025-06-04 07:36:26 997

原创 SpringBoot慢查询的6种监控方案

几乎所有主流关系型数据库都提供了内置的慢查询日志功能,通过设置阈值,将执行时间超过阈值的SQL记录到专门的日志文件中。利用Spring AOP机制,在Repository方法执行前后添加切面,计算执行时间并记录超过阈值的方法调用。利用Spring Boot Actuator和Micrometer提供的指标收集功能,监控数据库操作性能,并将数据导出到监控系统。P6Spy是一个开源的JDBC代理框架,能够拦截JDBC操作并记录SQL语句的执行情况,包括执行时间、参数等信息。

2025-06-03 07:30:57 838

原创 SpringBoot扫码登录实现

在移动互联网时代,扫码登录已成为Web应用不可或缺的登录方式。本文基于SpringBoot框架实现了一个完整的扫码登录系统DEMO。

2025-06-02 07:55:30 813

原创 SpringBoot数据转换的4种对象映射方案

/ 默认值处理// 自定义方法处理复杂转换// 格式化电话号码逻辑对象映射是Spring Boot应用中的常见需求,选择合适的映射方案能显著提高开发效率和应用性能。根据项目规模、性能要求和团队熟悉度选择合适的方案,同时注意映射过程中的深浅拷贝、循环引用等问题。合理使用对象映射工具,可以大幅减少样板代码,提高代码质量和可维护性。

2025-06-01 08:42:19 610

原创 SpringBoot解决依赖冲突的5个技巧

精简依赖:只引入真正需要的依赖,移除未使用的依赖版本统一:尽量使用同一个版本的关联库,如Spring各组件定期更新:定期更新依赖版本,特别是安全补丁使用属性管理版本:将版本号提取为属性统一管理建立依赖白名单:在企业级应用中,建立统一的依赖白名单,避免引入不必要或有安全风险的依赖在SpringBoot项目中,依赖管理的重要性不言而喻。合理的依赖管理不仅能解决冲突问题,更能提升应用的稳定性和安全性。最后,依赖管理是一个持续的过程,随着项目的迭代和发展,需要不断优化和调整依赖策略。

2025-05-31 07:03:56 1109

原创 SpringBoot多租户系统的5种架构设计方案

多租户架构是构建现代SaaS应用的关键技术,选择多租户模式需要平衡数据隔离、资源利用、成本和复杂度等多种因素。通过深入理解这些架构模式及其权衡,可以根据实际情况选择适合的多租户架构,构建可扩展、安全且经济高效的企业级应用。

2025-05-30 07:20:57 950

原创 SpringBoot插件化架构的4种实现方案

这种方案利用Spring提供的条件注解(如等)实现插件的动态加载。通过配置文件或环境变量控制哪些插件被激活,适合简单的插件化需求。SPI(Service Provider Interface)是Java提供的一种服务发现机制,允许第三方为系统提供实现。SpringBoot也提供了类似机制的扩展,可以利用它实现一种松耦合的插件化架构。SpringBoot的自动配置机制是实现插件化的另一种强大方式。通过创建独立的starter模块,每个插件可以自包含所有依赖和配置,实现"即插即用"。

2025-05-29 07:33:15 730

原创 SpringBoot接口安全的5种访问控制方法

*** 窗口期(秒)*//*** 窗口期内最大请求数*/在实际应用中,往往需要根据具体场景组合使用这些方法,构建多层次的安全防护体系。同时,安全是一个持续的过程,除了技术手段外,还需要定期的安全审计、漏洞扫描和安全意识培训。

2025-05-28 07:37:13 636

原创 Docker线上问题排查常用的19个命令

在容器化应用的生产环境中,当问题出现时,快速准确的诊断和解决能力直接关系到业务的可用性和用户体验。本文总结了19个Docker线上问题排查的常用命令和工具,掌握这些命令和工具都能显著提升你的问题排查效率。

2025-05-27 07:14:42 550 1

原创 Spring事务失效的8个经典陷阱

Spring事务是一个强大的特性,但也隐藏着许多陷阱。理解这些陷阱的原理,可以帮助你更好地利用Spring事务,构建更加健壮的应用程序。

2025-05-26 07:21:57 841

原创 MySQL索引失效的12种场景及解决方案

索引优化是一个持续的过程,需要结合具体的业务场景和数据特点。通过了解这些索引失效的场景和原理,你可以更有针对性地设计索引策略,显著提升数据库性能。没有一劳永逸的索引方案,随着数据量的增长和业务的变化,索引策略也需要不断调整和优化。持续监控、分析和优化是保持高性能数据库的关键。

2025-05-25 08:55:42 1546

原创 Java异常处理的9种最佳实践

异常处理不仅仅是错误处理,更是系统可靠性设计的重要组成部分。好的异常处理能够让系统在面对意外情况时保持稳定,为用户提供更好的体验。

2025-05-24 08:51:06 1129

原创 21个MySQL索引优化实战技巧

索引优化是一个持续的过程,需要结合业务特点、数据分布和查询模式来综合考虑。优秀的索引设计需要理论知识和实践经验的结合。

2025-05-23 07:43:25 995

原创 JDK9~JDK21的29个实用特性

Java语言在保持向后兼容性的同时,不断引入新特性以提高开发效率和代码质量。掌握这些新特性不仅能提高开发效率,还能编写出更加简洁、健壮的代码。

2025-05-22 07:37:12 711

原创 一个Java工程师的17个日常效率工具

最后,工具再好,也需要时间精力去掌握。建议每次只引入1-2个新工具,熟练后再考虑扩展。毕竟,真正的效率来源于熟练度,而非工具数量。

2025-05-21 07:40:21 794

原创 Spring AI实现一个简单的问答系统

本文详细介绍了如何使用Spring AI创建一个简单的问答系统。通过Spring AI提供的抽象层,我们能够轻松地集成大语言模型,无需深入了解底层API细节。这种方式可以让开发者专注于业务逻辑,同时保持了Spring生态系统的一致性。

2025-05-20 07:18:48 420

原创 大数据量下Redis分片的5种策略

随着业务规模的增长,单一Redis实例面临着内存容量、网络带宽和计算能力的瓶颈。分片(Sharding)成为扩展Redis的关键策略,它将数据分散到多个Redis节点上,每个节点负责整个数据集的一个子集。本文将分享5种Redis分片策略。

2025-05-19 07:44:23 957

原创 Java中7个处理各类配置文件的工具

Java Properties API是JDK内置的工具,专门用于处理文件,这是Java中最传统、使用最广泛的配置文件格式。Jackson是当前Java生态系统中流行的JSON处理库之一,提供了完整的JSON序列化和反序列化功能,能够轻松处理JSON格式的配置文件。Apache Commons Configuration提供了一个统一的接口来访问多种格式的配置文件,包括Properties、XML、JSON等,是一个功能丰富的配置管理库。SnakeYAML是一个处理YAML格式文件的Java库。

2025-05-18 09:14:33 1146

原创 Java反射的20个使用经验

在实际应用中,应当权衡反射带来的灵活性与潜在的性能、安全和可维护性问题。大多数情况下,如果有不使用反射的替代方案,应优先考虑。最后,优秀的框架设计应该尽量将反射细节封装起来,为最终用户提供清晰、类型安全的API,只在必要的内部实现中使用反射。

2025-05-17 08:38:04 827

原创 Java开发者线上问题排查常用的50个命令

在实际排查过程中,通常需要组合使用这些命令,形成系统性的问题排查流程。记住,成功的线上问题排查不仅依赖于命令的熟练使用,还取决于对Java应用架构、JVM原理和操作系统机制的深入理解。作为Java开发者,建议平时就熟悉这些命令的使用,并在非生产环境进行实践,为真正的线上问题排查做好准备。同时,建立完善的监控系统和日志体系,能让问题排查事半功倍。

2025-05-16 07:43:03 968

原创 SpringBoot中7个文件上传下载工具

无论选择哪种方案,都应根据应用的具体需求、预期用户数量和文件大小来设计文件处理系统。在大多数生产环境中,建议采用专门的文件存储服务作为主要存储方案,结合其他工具提供更好的用户体验。

2025-05-15 07:34:01 744

原创 SpringBoot中4种控制器返回值处理技巧

在实际项目中,这些技巧往往会结合使用。例如,可以在RESTful API中同时使用统一响应格式和ResponseEntity,既提供标准化的响应体,又能灵活控制HTTP状态码。选择合适的返回值处理方式,不仅能提高代码质量,还能改善前后端协作效率。

2025-05-14 07:16:14 297

原创 SpringBoot中7种静态资源处理技巧

spring:web:resources:这样可以添加自定义目录,甚至是服务器上的绝对路径。对于更复杂的需求,可以通过实现@Override// 将/files/**映射到file:/var/www/files/// 特定版本的资源处理这种方式提供了最大的灵活性,可以为不同路径配置不同的处理策略。SpringBoot为静态资源处理提供了丰富的功能和灵活的配置选项,可以根据项目需求,选择使用默认配置、简单自定义或高级配置方式。

2025-05-13 08:14:53 177

原创 SpringBoot配置文件的12个实用技巧

Class<?Class<?[0-9][0-9]?)$";@Validated@IpAddress// ...创建"description": "API安全密钥,用于外部服务认证。",},"description": "是否启用API速率限制。","reason": "API速率限制配置已移动到security命名空间。],"hints": ["description": "调试日志级别。},

2025-05-12 07:45:12 533

原创 SpringBoot中10种动态修改配置的方法

通过自定义Spring的和文件监听机制,实现本地配置文件的动态加载。动态配置修改能够提升系统的灵活性和可管理性,选择合适的动态配置方案应综合考虑应用规模、团队熟悉度、基础设施现状和业务需求。无论选择哪种方案,确保配置的安全性、一致性和可追溯性都是至关重要的。

2025-05-11 08:18:04 845

原创 Spring Validation中9个数据校验工具

Spring Validation允许开发者创建自定义约束,满足特定业务规则的验证需求。String message() default "用户名已存在";Class<?Class<?@NotBlank// 其他字段...使用场景:验证业务特定规则,如唯一性约束、密码复杂度、信用卡格式等。// 定义验证分组接口@Data@NotNull@NotNull@Valid // 标记需要级联验证的字段@NotEmpty@Valid // 验证集合中的每个元素@Data。

2025-05-10 08:12:02 454

原创 SpringBoot中的9个自带实用过滤器

将资源路径转换为包含版本信息的URL支持内容哈希或固定版本号与ResourceUrlProvider协同工作在实际项目中,根据应用需求选择合适的过滤器,并正确配置它们的执行顺序,将极大地提升应用的质量和开发效率。

2025-05-09 07:55:34 704

原创 SpringBoot中14个日志使用技巧

针对特定需求,可以创建自定义的日志格式。// 创建自定义日志消息格式化器// 在代码中使用最佳实践:对于频繁使用的复杂日志格式,封装成专用方法可以提高代码可读性和一致性。良好的日志实践不仅能帮助开发者更快地调试问题,还能为生产环境监控和故障排除提供宝贵的信息。好的日志应该像讲故事一样,清晰地描述应用的运行状态和流程,帮助我们快速理解系统行为。

2025-05-08 08:14:32 878

原创 Redis客户端缓存的4种实现方式

Redis客户端缓存是提升应用性能的强大工具,通过减少网络请求和数据库访问,可以显著降低延迟并提高吞吐量。在实际应用中,这些策略往往不是相互排斥的,而是可以组合使用,针对不同类型的数据采用不同的缓存策略,以获得最佳性能和数据一致性平衡。无论选择哪种缓存策略,关键是理解自己应用的数据访问模式和一致性需求,并据此设计最合适的缓存解决方案。通过正确应用客户端缓存技术,可以在保持数据一致性的同时,显著提升系统性能和用户体验。

2025-05-07 07:30:46 1174

原创 Redis 7.0中5种新特性及实战应用

Redis 7.0通过这五大核心特性:Redis Functions、分片Pub/Sub、多部分AOF、ACL增强以及客户端缓存优化,显著提升了Redis的功能性、性能和可靠性。

2025-05-06 21:58:26 812

原创 SpringBoot中5种服务可用性保障技术

本文介绍了SpringBoot中5种核心的服务可用性保障技术:熔断器模式、限流技术、服务降级与容错处理、重试机制以及健康检查与监控。这些技术不是孤立的,而是相互配合、协同工作,共同构建起应用的防御体系。

2025-05-05 06:45:13 781

Oracle常用命令大全

Oracle常用命令总结Oracle常用命令总结Oracle常用命令总结 新手必备文档哦 新手必备文档哦新手必备文档哦新手必备文档哦

2011-04-30

Maven学习文档及安装包

Maven学习文档及安装包Maven学习文档及安装包Maven学习文档及安装包Maven学习文档及安装包

2011-04-04

经典算法题经典算法题经典算法题

经典算法题经典算法题经典算法题经典算法题经典算法题经典算法题经典算法题经典算法题经典算法题

2011-04-03

jstl标签详解jstl标签详解jstl标签详解

jstl标签详解jstl标签详解jstl标签详解jstl标签详解jstl标签详解jstl标签详解jstl标签详解

2011-04-03

ssh框架项目银行系统源码

一个 简单的银行系统 希望对大家学习ssh框架有所帮助

2011-01-13

常用JavaScript特效

常用JavaScript特效常用JavaScript特效常用JavaScript特效常用JavaScript特效常用JavaScript特效常用JavaScript特效常用JavaScript特效常用JavaScript特效 很好的东东

2011-04-03

英语B级模拟题++答案

其中有20 套英语模拟题 附答案。 想过B级的 都看看吧

2010-11-20

jquery参考文档API

jquery参考文档APIjquery参考文档APIjquery参考文档APIjquery参考文档APIjquery参考文档API

2011-04-03

Java调用相应cmd命令的实例

Java调用相应cmd命令的实例 ,希望对大家有所帮住哈

2011-01-13

满汉楼餐饮管理系统JAVA项目源码

满汉楼餐饮管理系统JAVA项目源码 满汉楼餐饮管理系统JAVA项目源码 满汉楼餐饮管理系统JAVA项目源码 满汉楼餐饮管理系统JAVA项目源码 满汉楼餐饮管理系统JAVA项目源码

2011-04-27

MySQL参考手册。。。

MySQL参考手册 相当实用的东东 !!!

2011-04-03

CSS中文参考手册CSS中文参考手册

CSS中文参考手册CSS中文参考手册 适合新手学习 值得收藏哦!!

2011-04-03

slf4j-jar 下载

slf4j 的jar包 齐全啊 。。。!!!!!!!!!!!

2010-11-19

svn帮助文档svn帮助文档

svn帮助文档svn帮助文档svn帮助文档 绝对的好东西 包括环境配置 使用说明等。。 (一个html 文档 两个chm文档)

2011-04-05

sql2000 2005 mysql 数据库 jar包

sql2000 2005 mysql 数据库 jar包 另附简单的 连接代码 希望对大家有所帮助

2011-01-02

Java面试题详细汇总

Java面试题汇总 包括Java基础、jsp ssh2 附答案, Java面试题汇总 包括Java基础、jsp ssh2 附答案

2011-04-27

SSH学习帮助文档!

ssh 学习开发文档 适合新手使用 留下方便随时查询 !!! 真的很不错哦

2011-04-03

ssh整合jar包大全

ssh整合jar包 包括(spring struts1.x struts2 hibernate)货真价实 需要的赶紧下 !!!

2011-04-03

mysql oracle sqlserver数据库jar包大全

数据库jar包大全包括:oracle sqlserver 2000 \2005 mysql 另附简单连接例子程序 !!!

2011-04-03

java面试150例 附加答案

java面试150例 附加答案 找工作的都来看看希望对大家有所帮助 !!!

2011-01-26

程序员的十个层次 值得一看

程序员的十个层次 值得一看 程序员的十个层次 值得一看 程序员的十个层次 值得一看

2011-08-19

SQL语句大全 常用操作

SQL语句大全 常用操作 SQL语句大全 常用操作 SQL语句大全 常用操作 SQL语句大全 常用操作 SQL语句大全 常用操作 SQL语句大全 常用操作 SQL语句大全 常用操作 SQL语句大全 常用操作

2011-05-20

Java面试宝典2011版

Java面试宝典2011版

2011-09-15

jsf jar包及学习文档

jsf jar包及学习文档jsf jar包及学习文档jsf jar包及学习文档jsf jar包及学习文档jsf jar包及学习文档jsf jar包及学习文档jsf jar包及学习文档jsf jar包及学习文档jsf jar包及学习文档

2011-05-27

object-c初学者中文详细教程

object-c初学者中文教程object-c初学者中文教程object-c初学者中文教程object-c初学者中文教程object-c初学者中文教程

2011-05-06

java 在线考试程序

java 在线考试程序 java 在线考试程序 java 在线考试程序 java 在线考试程序 java 在线考试程序

2011-07-29

java 多媒体播放器

java 播放器 java多媒体播放器 java 播放器 java多媒体播放器 java 播放器 java多媒体播放器 java 播放器 java多媒体播放器

2011-07-29

java 数码照片管理程序

数码照片管理程序 数码照片管理程序数码照片管理程序数码照片管理程序 数码照片管理程序 数码照片管理程序 数码照片管理程序

2011-07-29

java 五子棋游戏

java 五子棋游戏 java 五子棋游戏java 五子棋游戏 java 五子棋游戏 java 五子棋游戏 java 五子棋游戏 java 五子棋游戏

2011-07-29

oracle经典练习题汇总

oracle经典练习题汇总oracle经典练习题汇总oracle经典练习题汇总oracle经典练习题汇总 适合新手练习

2011-04-30

淘宝API文档手册淘宝API文档手册

淘宝API文档手册淘宝API文档手册淘宝API文档手册淘宝API文档手册淘宝API文档手册淘宝API文档手册淘宝API文档手册淘宝API文档手册淘宝API文档手册

2011-06-03

jquery 使用技巧

jquery 使用技巧 jquery 使用技巧 jquery 使用技巧 jquery 使用技巧 jquery 使用技巧

2011-09-30

超级震撼的javascript网页效果

超级震撼的javascript网页效果 超级震撼的javascript网页效果 v超级震撼的javascript网页效果超级震撼的javascript网页效果 超级震撼的javascript网页效果超级震撼的javascript网页效果超级震撼的javascript网页效果

2011-09-30

Javascript高级教程

Javascript教程 Javascript教程 Javascript教程 Javascript教程 Javascript教程 Javascript教程

2011-08-19

js实现的俄罗斯方块

javascript实现的俄罗斯方块 javascript实现的俄罗斯方块 javascript实现的俄罗斯方块 javascript实现的俄罗斯方块 javascript实现的俄罗斯方块 javascript实现的俄罗斯方块

2011-09-30

javascript犀利的效果100个

javascript犀利的效果100个

2011-09-15

java json包java json包java json包

java json包java json包java json包java json包java json包java json包java json包java json包java json包java json包java json包java json包

2011-06-04

JNA3.09API参考手册

JNA3.09API参考手册 JNA3.09API参考手册JNA3.09API参考手册JNA3.09API参考手册 JNA3.09API参考手册

2011-05-24

svn插件svn插件svn插件

svn插件 svn插件 svn插件 svn插件 svn插件 svn插件 svn插件

2011-04-30

IIS6.0完整安装包XpSp3官方安装版

IIS 6.0 完整安装包 Xp Sp3 官方安装版

2011-09-14

空空如也

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

TA关注的人

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