- 博客(14)
- 收藏
- 关注
原创 Spring 中的依赖注入与数据源对象管理详解(基于黑马ssm网课课程总结)
Spring框架通过依赖注入(DI)实现了控制反转(IoC),将对象创建与依赖管理交由容器处理,降低耦合度。本文系统讲解了Setter注入和构造器注入两种主要方式,比较了它们的优缺点及适用场景,并介绍了自动装配机制。同时详细阐述了集合类型(数组、List、Set、Map)的注入方法,以及数据源对象(DataSource)的管理策略,包括不同连接池实现的选择和配置方式。Spring官方推荐使用构造器注入来确保对象完整性,同时提供了灵活的集合注入能力,使开发者能够高效管理复杂依赖关系。
2025-12-30 08:22:46
541
原创 Spring IoC 与 DI 核心原理学习笔记(根据黑马课程ssm笔记总结)
Spring IoC与DI核心原理摘要: IoC(控制反转)是一种设计思想,将对象创建与依赖管理交由容器完成,降低耦合度,提高可维护性。DI(依赖注入)是IoC的具体实现方式,在运行时注入依赖对象。Spring通过XML配置实现DI,支持构造方法、静态工厂、实例工厂和FactoryBean四种实例化方式。Bean默认单例,生命周期包含构造、注入、初始化、使用和销毁五个阶段。容器关闭时才会触发Bean销毁,需显式关闭容器。掌握IoC与DI是理解Spring框架的基础。
2025-12-29 00:05:13
728
原创 黑马网课springboot3+vue3中大事件项目代码优化(前端篇)
本文对比分析了黑马网课springboot3+vue3项目中前端代码的优化与新增功能。主要差异包括:1) 用户密码修改功能,优化版实现了完整的表单验证和API调用;2) 用户头像上传功能,优化版采用FormData正确上传文件;3) 文章管理功能差异。后端优化详见作者另一篇文章。通过代码对比展示了功能实现的改进点,如密码修改的表单验证、头像上传的正确方式等。
2025-12-28 00:38:55
1252
原创 黑马网课springboot3+vue3中大事件项目代码优化(后端篇)
本文对比分析了Big-Event项目优化版与原版的差异。优化版升级了Spring Boot至3.2.10版本,新增Knife4j API文档、Spring Cache缓存功能,并更新了MyBatis和MySQL驱动版本。配置文件方面,优化版增加了Redis连接池、阿里云OSS配置和PageHelper分页插件。代码层面新增了Knife4jConfig和CacheConfig配置类,改进了参数验证机制,如用户注册接口增加了正则表达式验证用户名和密码格式。这些优化提升了项目性能、可维护性和开发体验。
2025-12-27 00:16:09
1399
原创 C语言基础语法详解(有漫画进行辅助理解)
本文介绍了C语言的基础语法环境和数据运算。主要内容包括:注释的使用规则和注意事项;标识符命名规范;三种常量机制(字面量、宏常量、const常量)及其区别;计算机进制表示及存储规则(原码、反码、补码、大小端);基本数据类型及其内存占用;scanf函数的使用注意事项;算术运算的类型转换规则。文中通过代码示例展示了各种语法特性的实际应用,并强调了常见错误和最佳实践。
2025-12-23 09:51:52
1548
2
原创 Apache POI 使用指南(基于苍穹外卖项目)
Apache POI是一个用于操作Microsoft Office文件的开源Java类库,广泛应用于银行交易明细导出、Excel报表生成和数据批量导入等场景。本文介绍了如何在SpringBoot项目中使用Apache POI进行Excel读写操作,并提供了完整的代码示例。具体包括添加POI依赖、创建Excel文件、写入数据以及读取Excel内容的实现方法。最后以苍穹外卖项目为例,展示了实际应用中如何导出运营数据报表。通过POI可以方便地实现Java程序与Office文档的交互功能。
2025-12-22 18:15:41
1153
原创 苍穹外卖项目中的Spring Task和WebSocket实现详解
本文介绍了苍穹外卖项目中定时任务和实时通信的实现方式。通过Spring Task实现了定时处理超时订单和派送中订单的功能,使用@Scheduled注解配置执行频率。WebSocket部分则通过配置ServerEndpointExporter和实现WebSocketServer类,建立了前后端的实时通信机制,支持会话管理、消息接收和群发功能。这些技术在实际应用中能够有效提升系统的自动化水平和用户体验。
2025-12-21 16:47:58
509
原创 苍穹外卖项目:百度地图AK获取 + 配送范围校验实现 + 代码优化与AK安全存储
本文详细介绍了百度地图AK的获取流程和在苍穹外卖项目中的配置方法。首先,通过百度地图开放平台注册账号、完成开发者认证并创建应用获取AK密钥。然后,在项目中配置店铺地址和AK,实现配送范围校验功能,包括获取店铺和用户地址的经纬度坐标,计算配送距离并判断是否超出范围。最后提出优化建议,如在代码中添加详细日志提升可读性和调试效率。完整代码示例展示了如何调用百度地图API进行地理编码和路线规划,适用于类似的外卖配送场景开发。
2025-12-20 00:00:47
1466
原创 苍穹外卖项目中模拟微信支付模块导致前端无法正确返回数据的补救措施(悲)
本文介绍了对苍穹外卖系统支付和订单管理功能的改进方案。主要解决了前端调用支付和订单接口时参数缺失导致的问题,增强了系统的容错能力。改进内容包括:1)支付功能增加自动查找用户最新待支付订单的机制;2)管理端订单操作(接单、拒单、取消)增加参数校验和自动查找订单功能;3)完善日志记录和异常处理。通过返回模拟支付数据和自动补全缺失参数,确保前端能正常处理订单流程,提高系统健壮性。修改集中在OrderServiceImpl.java文件,涉及支付、接单、拒单和取消订单等多个核心功能。
2025-12-18 22:38:47
382
原创 SpringBoot中通过SpringCache线程优化(用Redis优化MySQL)(基于苍穹外卖项目)
本文详细介绍了苍穹外卖项目中Redis缓存优化的实现方法。首先分析了传统MySQL查询的性能瓶颈,展示了手动Redis缓存实现方式及解决线程安全问题的方案。然后讲解了SpringBoot Cache的核心注解(@Cacheable、@CachePut、@CacheEvict等)及其使用方法。最后通过实际案例展示了缓存优化在项目中的具体应用,包括新增菜品、批量删除、修改菜品等操作的缓存一致性处理。文章还提供了解决缓存不一致问题的代码示例,帮助开发者理解如何在业务场景中正确使用缓存技术提升系统性能。
2025-12-16 11:18:07
1752
原创 Java 中遍历 HashMap 的多种方式
文章摘要 本文详细介绍了 Java 中遍历 HashMap 的四种主要方式: 推荐方式:通过 entrySet() 同时遍历键值对(增强 for 循环或迭代器),效率最高 单独遍历:keySet() 仅遍历键或 values() 仅遍历值 JDK8+简化:使用 forEach 方法结合 Lambda 表达式 对比选型:根据需求选择遍历方式,如需要删除元素时使用迭代器,仅需键/值时用对应视图 注意事项:避免在遍历中直接修改集合,迭代器删除更安全,JDK8+的 Lambda 写法最简洁。
2025-12-16 09:02:28
971
原创 Spring Boot 3 + JDK 21 项目中从 Swagger 2 升级到 OpenAPI 3.0(Knife4j)的完整实践指南——以苍穹外卖项目为例
本文介绍了将Spring Boot 3 + JDK 21项目从Swagger 2.0迁移到OpenAPI 3.0的完整实践。主要内容包括:1)对比Swagger 2.0与OpenAPI 3.0在规范、配置方式和注解使用上的差异;2)详细说明OpenAPI 3.0在苍穹外卖项目中的具体实现方法,包括基础配置、接口分组等;3)重点分析了Spring Boot 3.x环境下使用OpenAPI 3.0的注意事项,特别是依赖版本冲突问题及其解决方案。文章通过代码示例和效果对比,为开发者提供了清晰的迁移指南。
2025-12-14 20:44:40
1112
原创 在java中的springboot项目中如何操作Redis(基于苍穹外卖项目)
本文介绍了在Java项目中集成和使用Redis的方法。主要内容包括:1)Redis服务安装与启动步骤(Windows环境);2)Spring Boot项目中配置Redis连接及依赖添加;3)Redis五种数据类型(String、Hash、List、Set、Sorted Set)的基本操作命令;4)通过RedisTemplate实现各类数据操作的Java代码示例;5)通用操作方法如过期时间设置、键存在检查等。文章提供了从环境搭建到具体应用开发的完整指引,帮助开发者快速掌握Redis在Java项目中的集成与应用
2025-12-10 13:47:56
975
原创 Redis的常用操作代码(基于黑马苍穹外卖的day5中redis的讲解)
本文介绍了Redis的核心概念、与MySQL的关键区别,以及5种常用数据类型。Redis是一款基于内存的键值数据库,相比MySQL具有极高的读写性能(10万+QPS),但缺乏复杂查询和强事务支持。文章详细讲解了String、Hash、List、Set和Zset五种数据类型的特性、底层实现及基本操作命令,并提供了CLI示例代码。Redis适用于缓存、高频读写等场景,而MySQL更适合持久化存储和复杂查询。通过对比表格和示例,帮助读者快速理解Redis的核心功能和典型应用场景。
2025-12-09 21:45:25
848
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人
RSS订阅