自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 SpringMVC框架上

摘要:SpringMVC是基于Java的轻量级Web框架,采用MVC设计模式实现请求处理、业务逻辑与视图展示的解耦。其核心优势包括注解驱动开发、自动参数绑定和拦截器机制,支持三层架构(表现层/业务层/持久层)与RESTful风格。典型开发流程包含:1)配置DispatcherServlet前端控制器;2)通过@RequestMapping映射请求;3)视图解析器处理响应。特色功能涵盖文件上传、类型转换及AOP式拦截器,能与Spring容器无缝集成,显著提升Web开发效率。

2025-11-22 12:08:09 629

原创 Java面试中等测试题

Spring Bean容器是Spring框架中用于管理Bean(即Java对象)的容器,负责Bean的创建、配置、组装和管理。Spring IOC(控制反转)容器是Bean容器的具体实现,它通过依赖注入(DI)机制来实现控制反转。实际上,Spring Bean容器和Spring IOC容器是同一个概念,通常互换使用,但IOC容器更强调控制反转的原则。Spring DI(依赖注入)是IOC的具体实现方式,指容器在运行时动态地将依赖对象注入到目标对象中。DI减少了代码的耦合性,提高了可测试性和可维护性。

2025-11-15 15:59:44 756

原创 Spring 框架核心技术详解:AOP、JDBC 模板与事务管理

AOP 最佳实践切面类专注于单一职责(如日志切面只处理日志,事务切面只处理事务)切入点表达式精准匹配(避免过度增强影响性能)优先使用注解方式(减少 XML 配置,提高开发效率)JDBC 模板最佳实践结合连接池使用(如 Druid、HikariCP),避免频繁创建连接复杂查询使用RowMapper,简单查询用批量操作使用,减少 SQL 执行次数事务管理最佳实践事务注解加在 Service 层(而非 Dao 层,确保业务逻辑完整性)明确设置传播行为(如跨服务调用用。

2025-11-12 21:56:35 601

原创 Spring 框架核心技术全解析

Spring 是 2003 年兴起的轻量级 Java EE 一站式框架,由 Rod Johnson 创建。它以 IOC 和 AOP 为核心,解决了业务逻辑层与其他层的耦合问题,支持分层开发(表现层、业务层、持久层),且能无缝集成 MyBatis、Struts2 等主流框架。Spring 上半部分核心围绕 IOC/DI 展开,关键在于理解 “对象由容器管理,依赖由容器注入” 的思想。小型项目:XML 配置简单直观。中大型项目 / 微服务:纯注解开发更高效,是 Spring Boot 的基础。

2025-11-08 13:59:39 688

原创 懂事务与数据库连接池

事务保证数据一致性,核心是 ACID 特性和隔离级别配置,实际开发中需结合 JDBC 或框架(Spring)使用。连接池优化系统性能,Druid 是最优选择,通过配置文件 + 工具类可快速集成。两者结合时,需重点关注连接的唯一性和归还时机,避免事务失效或连接泄漏。掌握这两项技术,能解决大部分数据库相关的性能和数据一致性问题,是 Java 后端开发的必备技能。

2025-11-08 13:53:11 1017

原创 Spring面试题

答案一级缓存:SqlSession级别,默认开启,在同一个SqlSession中有效。二级缓存:Mapper级别,需手动开启,跨SqlSession共享数据。答案接口绑定指MyBatis将Mapper接口与XML映射文件关联,通过动态代理实现。好处是无需编写实现类,代码更简洁。答案B标签可以定义在A标签后面,MyBatis解析时会将整个XML文档加载后再处理引用。答案MyBatis是持久层框架,封装了JDBC,通过XML或注解配置SQL,支持动态SQL和缓存,简化数据库操作。答案。

2025-11-04 15:03:37 890

原创 Spring 框架IOC和AOP

Spring 是一个分层的 JavaSE/EE 全栈轻量级开源框架,核心解决业务逻辑层与其他层的耦合问题,将面向接口的编程思想贯穿整个系统。它不是要替代现有技术,而是通过整合各类优秀框架(如 MyBatis、Struts2 等),为开发者提供一套统一的开发规范。简单来说,Spring 就像一个 "超级工厂",帮你管理所有对象的创建和依赖关系;IOC(控制反转)和AOP(面向切面编程)。IOC(Inverse of Control,控制反转)是 Spring 的核心设计思想 ——

2025-11-03 22:26:08 774

原创 一文搞定 JDBC 事务与数据库连接池

事务是数据库提供的原子性操作单元一组 SQL 操作要么全部成功,要么全部失败,不存在 "部分执行" 的中间状态。最经典的例子就是「转账」:冠希给美美转 1000 元,需要执行两步操作 —— 给冠希扣 1000 元、给美美加 1000 元。如果第一步成功但第二步失败(比如数据库突然崩溃),就会出现 "钱扣了但没到账" 的异常,而事务能避免这种情况。事务:通过Connection的commitrollback控制,核心是 ACID 特性,隔离级别解决并发问题;连接池。

2025-11-03 22:18:03 849

原创 一文搞懂池化:从原理到实践,让资源利用效率翻倍

简单来说,池化(Pooling)是一种 “提前准备、重复利用” 资源的设计模式,本质是对 “昂贵资源” 的生命周期进行统一管理,避免频繁创建和销毁带来的性能损耗。它的思路很像生活中的 “共享充电宝柜”:商家不会等用户需要时才临时生产充电宝,而是提前准备一批充电饱满的设备存放在柜中;用户用的时候直接取走,用完后放回柜中充电,供下一个用户继续使用 —— 既省去了 “按需生产” 的高成本,又避免了用户等待的时间。初始化池。

2025-11-02 22:29:28 390

原创 深入 Maven:从仓库配置到私服架构的进阶实践

通过本文的学习,我们从 “仓库配置” 到 “依赖进阶”,再到 “企业级私服搭建”,系统掌握了 Maven 的进阶核心能力。仓库是依赖管理的基础,依赖范围与阻断解决了实际开发中的冲突问题,生命周期与插件揭示了构建背后的执行逻辑,而私服则是企业团队协作的关键支撑。至此,我们已覆盖 Maven 从基础到进阶的核心知识点,从个人开发到团队协作的场景均能应对。

2025-10-29 20:19:21 1030

原创 从零开始学 Maven:Java 项目管理的高效解决方案

通过本文的学习,我们掌握了 Maven 的核心价值(标准化构建、自动化依赖管理)、安装配置步骤,以及基础项目的实战流程。Maven 的 “约定优于配置” 理念,让项目结构更统一,团队协作更高效;而依赖管理机制,则彻底告别了手动下载 JAR 包的繁琐。

2025-10-29 20:10:42 633

原创 IDEA使用教程

作为一名从 Eclipse 转用 IDEA 的 Java 开发工程师,我深刻理解两种工具操作逻辑的差异。建议在学习 IDEA 时暂时忘掉 Eclipse 的操作习惯,从零开始适应这款更高效的开发工具。本文将从下载安装到进阶技巧,带你完整掌握 IDEA 的 Java 开发用法。以以下代码为例演示调试流程:调试步骤:建议你先按照本文步骤完成 IDEA 的安装和基础配置,再通过实际项目练习快捷键和调试技巧。

2025-10-25 17:35:01 917

原创 XML 核心知识点

<name>张三</name>

2025-10-23 17:09:09 592

原创 JSON 核心知识点

定义:JSON 是一种轻量级、纯文本的数据交换格式,基于 JavaScript 对象语法,但完全独立于编程语言(几乎所有语言都有 JSON 解析 / 生成工具)。核心优势语法简洁易读(比 XML 更轻量,无冗余标签)。解析速度快(编程语言原生支持或有高性能库)。跨平台 / 跨语言兼容(前后端、多语言系统间数据传输的首选)。基础层:掌握 JSON 严格的语法规则(对象、数组结构,双引号要求等)。Java 层:FastJSON 实现 Java 对象与 JSON 字符串的双向转换,重点掌握和方法。

2025-10-23 16:58:01 807

原创 AJAX 知识

定义:AJAX(Asynchronous JavaScript and XML,异步 JavaScript 和 XML)是一种无需重新加载整个网页,就能实现局部更新页面数据的技术。核心价值减少网络数据传输量,提升页面响应速度。实现 “无刷新交互”,优化用户体验(如实时搜索、表单异步提交、动态加载内容)。本质是原生 JavaScript 与服务器进行异步通信的技术集合(核心依赖对象或现代的fetch APIAJAX 是前端与服务器异步通信的核心技术,通过或fetch。

2025-10-23 16:43:11 675

原创 Cookies 与 Session 核心知识点

Cookies 负责在客户端存储 “钥匙”(SessionID),Session 负责在服务器端存储 “用户数据”。实际开发中,需根据数据敏感性、大小和场景选择合适的存储方式,同时重视安全配置(如HttpOnlysecureSameSite等),避免出现身份伪造、数据泄露等风险。

2025-10-23 16:32:41 679

原创 jQuery 核心知识点总结

jQuery 以 “简洁” 为核心,适合快速开发中小型项目、处理 DOM 交互和 AJAX 请求。虽然现在 React、Vue 等框架更流行,但许多老项目仍依赖 jQuery,掌握它能帮你快速接手维护工作。核心是理解$()选择器、链式调用和事件处理,其余功能可按需查阅jQuery 官方文档。

2025-10-23 16:02:12 807

原创 JavaScript 从入门到实战:2025 年开发者必学指南

JavaScript 不是一门 “学完就忘” 的语言 —— 它一直在进化,从 ES6 到 ES2024,从前端到全栈。基础打牢,实战为王。与其纠结 “学哪个框架”,不如先把 JavaScript 本身吃透 —— 因为所有框架,都是基于它构建的。现在就打开编辑器,写一个简单的数组遍历、或者异步请求,开始你的 JS 进阶之路吧!

2025-10-23 14:32:08 892

原创 Java 异常处理全解析

异常是指程序运行过程中发生的非正常事件,它会打断程序的正常执行流程。比如文件不存在、网络连接中断、数组越界等,都属于异常场景。Java 通过异常机制来统一处理这些意外情况,让程序在出错时能有 "补救" 或 "优雅退出" 的机会。开发者根据业务需求自定义的异常类,需继承Exception或。场景:用户登录失败、参数校验不通过等业务异常。// 自定义编译期异常// 自定义运行时异常if (!throw new LoginFailedException("用户名或密码错误");

2025-10-21 22:34:23 974

原创 Java 的map集合体系

遍历选择:需修改集合用Iterator,否则用增强 for 或普通 for(List)。泛型使用:始终为集合指定泛型,避免类型转换异常。Map 选择:选HashMap(性能优)、(需顺序)或TreeMap(需排序)。至此,Java 集合体系的核心知识点已全部讲解完毕。建议结合实际场景多练习,才能真正做到融会贯通!

2025-10-21 22:25:19 790

原创 Java的Collection 集合体系详解

Collection 体系:存储单个元素的集合,包括 List(有序可重复)、Set(无序不可重复)、Queue(队列)。Map 体系:存储 ** 键值对(Key-Value)** 的集合,如 HashMap、TreeMap 等。今天我们先深入学习Collection 体系。List:有序可重复,选ArrayList(读多写少)或LinkedList(增删多)。Set:无序不可重复,选HashSet(性能优)、(需插入顺序)或TreeSet(需排序)。Queue:先进先出,选LinkedList或。

2025-10-21 22:18:44 1016

原创 深入理解 Java 中的字符串、包装类与日期处理

字符串选择:少量操作选String,频繁修改选(单线程)或(多线程)。包装类注意:利用自动装箱拆箱简化代码,但需注意null拆箱的空指针风险和缓存机制的影响。日期处理:彻底抛弃Date和,全面使用 Java 8 的java.time包,兼顾安全性与易用性。掌握这些基础组件的特性与最佳实践,能显著提升代码质量与开发效率,避免常见的性能问题和 bug。

2025-10-21 22:08:01 761

原创 Java 面向对象核心知识详解

java 是一门面向对象的编程语言,面向对象编程(OOP)思想是 Java 编程的核心。下面我们就来深入探讨 Java 面向对象的关键内容。

2025-10-20 23:12:45 916

原创 Java 重点语法

流程控制能让程序根据不同情况执行不同逻辑,方法用于封装代码实现复用,数组则方便我们存储和操作一组同类型数据。下面聚焦这些重点内容展开。

2025-10-20 22:56:54 547

原创 Java语法基础

本篇博客重点梳理了Java语言的概述、常量变量、数据类型转换及运算符等核心基础,并对图中标红的重点内容进行深入讲解,帮助初学者构建清晰的知识框架。

2025-10-20 22:18:29 927

原创 SpringMVC 实战:整合 MyBatis 实现完整 CRUD

前面两篇我们掌握了 SpringMVC 的基础和进阶技术,但实际项目中,SpringMVC 很少单独使用,通常需要与持久层框架(如 MyBatis)整合,实现 “接收请求→业务处理→操作数据库→返回结果” 的完整流程。本文将带你从零搭建 “SpringMVC + MyBatis” 的项目,实现用户管理的 CRUD 功能,覆盖实际开发中的核心配置和最佳实践。覆盖了 SpringMVC 的核心知识点和实际应用,你可以根据学习进度逐步阅读和实践。处理用户相关的 5 个请求:查询所有、查询单个、添加、编辑、删除。

2025-09-27 15:46:01 823 1

原创 SpringMVC 进阶:核心组件详解与参数绑定全攻略

本文将带你深入 SpringMVC 的核心组件,拆解其底层逻辑,并详细讲解 “参数绑定” 这一高频开发场景,帮你解决 80% 的日常开发需求。若请求参数较多(如用户注册:姓名、年龄、邮箱),可将参数封装为 POJO 类,SpringMVC 会自动将请求参数注入到 POJO 的属性中(要求:POJO 属性名与请求参数名一致)。“参数绑定” 是 SpringMVC 接收前端请求参数的核心能力,支持基本类型、对象、集合等多种场景,以下按 “常用程度” 排序讲解。解决方案:前端确保参数类型正确,或后端用。

2025-09-27 15:44:10 645

原创 SpringMVC 入门:核心概念与第一个 HelloWorld 案例

本文介绍了SpringMVC框架的核心概念和使用方法。SpringMVC是基于MVC模式的轻量级框架,通过DispatcherServlet统一处理请求,简化开发流程。文章详细讲解了SpringMVC的5个核心组件及9步工作流程,并提供了完整的HelloWorld案例实践步骤,包括环境搭建、配置文件和代码实现。通过该案例,读者可快速掌握SpringMVC的基本使用方法,包括控制器定义、视图解析和数据传递等核心功能。

2025-09-27 15:41:49 740

原创 Spring 高级特性:事件、资源与异步处理

事件驱动模型:实现组件间的松耦合通信资源管理:统一的资源访问抽象异步处理:提高应用的并发能力和响应速度类型转换:灵活的类型转换机制数据绑定:简化对象与表单数据的映射验证框架:方便的数据验证功能这些高级特性进一步扩展了 Spring 的能力,使开发者能够更专注于业务逻辑,而非基础设施的实现。本文将重点介绍 Spring 的事件机制、资源管理和异步处理,帮助你充分利用 Spring 框架的强大功能。java运行// 自定义事件,继承ApplicationEvent// 订单ID。

2025-09-20 16:49:58 884 1

原创 Spring 事务管理详解:保障数据一致性的实践指南

在数据库操作中,事务(Transaction)是一组不可分割的操作单元,这些操作要么全部成功执行,要么全部失败回滚,从而保证数据的一致性。原子性(Atomicity):事务中的所有操作要么全部完成,要么全部不完成,不会处于中间状态一致性(Consistency):事务执行前后,数据库从一个一致状态转变为另一个一致状态隔离性(Isolation):多个事务并发执行时,彼此之间不会相互干扰持久性(Durability):事务一旦提交,其修改会永久保存到数据库中在企业级应用中,事务管理至关重要。

2025-09-20 16:48:51 849

原创 Spring AOP 详解:面向切面编程的实践之道

在软件开发中,我们经常会遇到一些横切多个业务逻辑的功能,例如日志记录、事务管理、安全验证等。代码分散:相同功能的代码散布在多个地方,维护困难耦合度高:业务逻辑与横切关注点混杂在一起代码冗余:重复实现相同的功能不利于测试:横切功能增加了测试的复杂度面向切面编程(Aspect-Oriented Programming,AOP)正是为解决这些问题而生的编程范式。它通过将横切关注点从业务逻辑中分离出来,实现了 "关注点分离" 的设计原则,使代码更加清晰、模块化。

2025-09-20 16:47:33 955

原创 Spring 框架入门:深入理解 IoC 容器与依赖注入

Spring 框架自 2003 年首次发布以来,已经成为 Java 企业级开发的基石。它以 "轻量级"、"非侵入式" 的设计理念,解决了传统 Java 开发中组件耦合紧密、配置繁琐等问题,极大地提高了开发效率和系统可维护性。控制反转(IoC):将对象的创建和依赖管理交给容器,降低组件间耦合面向切面编程(AOP):分离业务逻辑和横切关注点(如日志、事务)一站式解决方案:提供数据访问、Web 开发、安全等全方位功能生态系统丰富:与 Spring Boot、Spring Cloud 等项目无缝衔接。

2025-09-20 16:46:23 582

原创 Spring Boot 整合 MyBatis:从入门到企业级实践

Spring Boot 整合 MyBatis 为 Java 持久层开发提供了高效、灵活的解决方案。本文从基础配置到高级特性,全面介绍了两者的整合过程,包括注解与 XML 两种开发方式、分页实现、事务管理和逆向工程等关键技术点。在企业级实践中,还需要关注性能优化和安全问题,合理使用缓存、连接池和事务管理,确保系统的高效稳定运行。通过掌握这些知识,你可以快速构建出高质量的数据库访问层,为业务逻辑提供可靠支持。

2025-09-20 16:18:06 518

原创 MyBatis 缓存机制详解:提升性能的关键技术

数据库压力增大网络传输开销增加应用响应速度降低缓存作为解决这些问题的关键技术,通过将频繁访问的数据存储在内存中,减少对数据库的直接访问,从而显著提升应用性能。一级缓存:SqlSession 级别的缓存(默认开启)二级缓存:Mapper 级别的缓存(需要手动开启)本文将深入解析 MyBatis 缓存的工作原理、使用方式和最佳实践,帮助你在实际开发中合理利用缓存提升系统性能。MyBatis 的缓存机制是提升应用性能的重要手段,一级缓存默认开启,适用于单会话内的数据复用;

2025-09-20 16:17:06 357

原创 MyBatis 动态 SQL 详解:优雅处理复杂查询场景

在实际开发中,数据库查询往往不是固定不变的,而是需要根据不同条件动态生成 SQL 语句。多条件查询时,用户可能输入部分条件或全部条件数据更新时,可能只更新部分字段批量操作时,需要根据集合长度生成对应 SQL繁琐的字符串拼接逻辑容易出现语法错误(如多余的 AND/OR)代码可读性和可维护性差潜在的 SQL 注入风险MyBatis 的动态 SQL 功能完美解决了这些问题,它允许在 XML 映射文件中使用标签编写动态逻辑,自动生成符合条件的 SQL 语句。

2025-09-20 16:16:27 824

原创 MyBatis 参数传递详解:从基础到复杂场景全解析

在 MyBatis 开发中,参数传递是连接 Java 代码与 SQL 语句的桥梁,直接影响 SQL 执行的正确性。SQL 语法错误参数值无法正确映射潜在的 SQL 注入风险代码可读性和可维护性下降MyBatis 提供了灵活多样的参数传递方式,能应对从简单到复杂的各种业务场景。本文将系统讲解 MyBatis 的参数处理机制,涵盖基本类型、对象、集合等多种参数类型,并通过实例展示最佳实践。

2025-09-20 16:15:32 877

原创 MyBatis 从入门到实战:环境搭建与核心原理详解

MyBatis 通过简洁的配置和强大的映射能力,极大简化了数据库操作。本文从环境搭建到核心原理,全面介绍了 MyBatis 的基础使用。掌握这些知识后,你可以轻松实现基本的 CRUD 操作,为后续学习动态 SQL、缓存机制等高级特性打下基础。

2025-09-20 16:14:20 547

原创 Maven 实战:多模块项目与高级打包配置

Maven 多模块项目是中大型 Java 项目的标配,核心是 “拆分子模块、统一管理、按需依赖”;而高级打包配置则能满足实际开发中的多样化需求(如可执行 Jar、War 包)。掌握这两点,就能让 Maven 真正成为项目开发的 “助力”,而不是 “绊脚石”。至此,Maven 三篇系列博客就结束了 —— 从入门到进阶再到实战,覆盖了 Maven 的核心知识点。希望能帮你彻底搞懂 Maven,提升开发效率!

2025-09-20 15:17:22 1326

原创 Maven 进阶:依赖管理的 “坑” 与解决方案

Maven 依赖管理的核心是 “理解范围、解决冲突、优化依赖”。今天这篇文章讲的依赖范围、冲突排查与解决方法,都是实际开发中高频用到的技巧。记住:遇到依赖问题,先查依赖树(),再根据冲突原则或手动排除解决。下一篇我们会讲 Maven 的多模块项目搭建,适合中大型项目的开发场景。

2025-09-20 15:15:42 558

原创 Maven 入门:从 “手动导包” 到 “自动化构建” 的第一步

Maven 的核心是 “自动化”—— 自动管理依赖、自动构建项目。作为 Java 开发者,掌握 Maven 是基本功,今天这篇文章从概念、安装、配置到基本命令,帮你快速入门。下一篇我们会深入 Maven 的依赖管理,解决实际开发中 “依赖冲突” 等进阶问题。

2025-09-20 15:14:09 1005

空空如也

空空如也

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

TA关注的人

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