- 博客(103)
- 收藏
- 关注

原创 SpringMVC拦截器详解:原理、使用与配置
在SpringMVC框架中,拦截器(Interceptor)是一种用于拦截用户请求并进行处理的机制,类似于Servlet中的过滤器(Filter)。用户权限验证用户是否登录验证日志记录请求的预处理和后处理等SpringMVC的拦截器机制是可插拔的,可以在配置文件中进行灵活配置,启用或禁用某个功能的拦截器。例如,如果需要权限验证,只需在配置文件中添加拦截器;如果不需要,只需将其移除。
2025-02-02 12:07:12
653

原创 MyBatis 缓存机制详解
在高并发系统中,数据库查询是系统性能的瓶颈之一。为了提高查询效率,减少数据库的访问次数,缓存机制应运而生。MyBatis 作为一款优秀的 ORM 框架,内置了强大的查询缓存特性,支持一级缓存和二级缓存两级缓存机制。本文将详细介绍缓存的概念、MyBatis 的缓存机制以及如何配置和使用 MyBatis 缓存。一、什么是缓存?1. 什么是缓存?缓存是存储在内存中的数据。当用户查询数据时,系统可以直接从缓存中获取,而不需要访问数据库,从而提升查询效率。2. 为什么使用缓存?减少数据库交互,降低系统的开销。
2025-01-29 16:52:01
1520

原创 java爬虫工具Jsoup学习
JSoup是一个用于处理HTML的Java库,它提供了一个非常方便类似于使用DOM,CSS和jquery的方法的API来提取和操作数据。
2025-01-26 00:08:45
1414

原创 SpringBoot整合Swagger UI 用于提供接口可视化界面
通过以上步骤配置和注解,您就可以在 Spring Boot 项目中使用 Swagger 生成接口文档并通过 Swagger UI 进行展示和交互了。使用 Spring Boot 时,确保版本合适,否则可能无法成功导入。在 Spring Boot 项目中,创建一个 Swagger 配置类来启用 Swagger 功能并进行相关配置。当用户的入参是实体类时,使用该注解描述实体类的结构。访问 Swagger UI 页面,可以查看和测试接口。用于标注控制器类,描述整个类的功能。用于标注方法,描述该接口的功能。
2025-01-25 23:57:38
1169

原创 Java中使用四叶天动态代理IP构建ip代理池,实现httpClient和Jsoup代理ip爬虫
程序通过 API 抓取代理 IP,验证其可用性后存入集合,支持动态更新和多线程并发验证。
2024-12-22 16:34:07
2664

原创 数据库原理学习——MySql触发器详解
触发器(Trigger)是数据库中的一种特殊存储程序,它绑定到某张表(或视图)上,并在特定的数据库操作(如INSERTUPDATE或DELETE)发生时自动执行预定义的操作。触发器无需手动调用,是一种事件驱动的机制。触发器目标检查是否是is_leave字段被更新为1。(表示访客已离开)。②out_time距离当前时间已有 1 年以前。触发时机: 每当表中的is_leave字段被更新为1时,该触发器会自动执行。触发器是一种强大的工具,用于增强数据库的自动化处理能力。
2024-12-21 16:59:58
2281

原创 SpringBoot+WebSocket实现在线客服咨询功能以及项目部署
WebSocket是一种协议,用于在Web应用程序和服务器之间建立实时、双向的通信连接。提供了前端浏览器和服务端持久化连接,这使得Web应用程序可以更加实时地传递数据给后端。后端也可以实时发送数据给前端;本项目是基于SpringBoot框架,结合WebSocket协议完成;SpringBoot的版本是2.7.x其中所有的Maven依赖都是支持SpringBoot2.7.x的版本的;如果你用的springboot版本过于新,可能会出错,各种版本不兼容问题等,请大家注意;
2024-11-22 23:39:36
1350

原创 SpringBoot项目实现登录——集成JWT令牌和验证码的登录业务
在我们的项目中,如何防止用户在未登录的情况下就去访问网站内其他的资源呢?答:通常我们使用JWT令牌(token)来实现一个功能完善的登录模块,在用户登录成功后,服务器会返回给前端一串加密过的长字符串作为令牌(token),下次前端再进行请求时带上该令牌作为参数,后端服务器识别后就会允许前端访问其它站点。
2024-11-16 16:08:15
1489
2

原创 Spring基础之——控制反转(IOC)、依赖注入(DI)与切面编程(AOP)概念详解(适合小白,初学者必看)
本篇博客讲详细介绍Spring框架中的两个最核心且最基础的概念:控制反转(IOC)和面向切面编程(AOP)。以及如何通过IDEA来构建一个Spring项目,通过实战和理论结合的方式来让大家真的学会Spring这个最流行的Java框架。Spring是一个开放源代码的设计层面框架,它解决的是业务逻辑层和其他各层的松耦合问题,因此它将面向接口的编程思想贯穿整个系统应用。简单来说,Spring是一个分层的JavaSE/EEfull-stack(一站式) 轻量级开源框架。它是为了解决企业应用开发的复杂性而创建的。
2024-11-15 20:51:24
1180

原创 MySQL数据库之——事务(Transaction)详解
MySQL 事务主要用于处理操作量大,复杂度高的数据。比如说,在银行管理系统中,用户张三向李四账户转账的操作,账户转账是一个完整的业务,最小的单元,不可再分,这样,完成转账操作的这些SQL语句之和就构成一个事务!总的来说,在 MySQL 中只有使用了 Innodb 数据库引擎的数据库或表才支持事务。事务处理可以用来维护数据库的完整性,保证成批的 SQL 语句要么全部执行,要么全部不执行。事务通常用来管理insert(增)、update(改)、delete(删)语句。
2024-10-24 22:49:50
1139
1

原创 Maven学习—如何在IDEA中配置Maven?又如何创建Maven工程?(详细攻略)
本篇博客将详细的介绍在IDEA中如何配置Maven,以及如何创建一个Maven项目;
2024-07-16 23:57:54
8542
1

原创 Maven详解(学习、安装、配置)——看这个一篇就够了
(之前我们创建项目,需要确定项目的目录结构,比如src 存放Java源码, resources存放配置文件,webContent放前端页面,还要配置环境比如JDK的版本等等,如果有多个项目 那么就需要每次自己搞一套配置,十分麻烦。操作麻烦,如果人家版本更新了,或者我们的项目需要更新某个模块,导致之前加入的依赖包,又需要重新下载最新版本,重新加入到项目里。:Maven公司团队所管理的服务器,架设在Internet上,为全世界的所有Maven工程服务,基本上存储着99%的jar包。①阿里中央仓库(首选推荐)
2024-07-12 21:23:23
7328
3
原创 代理模式(Proxy Pattern)与面向切面编程(AOP)的区别与联系
代理模式和面向切面编程(AOP)是两个密切相关的概念,但它们在定位和目标上有所不同。联系代理是实现AOP的核心机制AOP(如Spring AOP)的底层实现通常依赖于动态代理技术(JDK动态代理或CGLIB)。代理模式通过拦截目标对象的方法调用,插入横切逻辑(如日志、事务),这正是AOP的核心思想。目标一致:解耦非核心逻辑两者都旨在将横切关注点(如日志、权限、事务)从业务代码中分离,避免代码重复和耦合。区别维度代理模式(Proxy)AOP(面向切面编程)定位一种设计模式。
2025-02-07 14:53:31
350
原创 Java面试题——为什么在 Java 中重写 equals 方法时一定要重写 hashCode方法
让我用简单的方式解释一下为什么在 Java 中重写equals方法时一定要重写hashCode方法。
2025-02-06 23:05:12
312
原创 Linux系统安装Nginx详解(适用于CentOS 7)
通过以上步骤,你已经在CentOS系统上成功安装并配置了Nginx。你可以根据需要进一步配置Nginx来托管网站或应用程序。补充:如果你在更新系统包或者安装Nginx时报错:从错误信息来看,仓库的 URL 似乎有问题,导致无法下载元数据。这可能是因为 CentOS 3 是一个非常旧的版本(已停止支持),而 Nginx 官方仓库不再为其提供支持。
2025-02-06 14:18:06
986
1
原创 前后端分离的开发框架中,以下几种命令:npm run dev、npm run build:stage 和 npm run build:prod分别有什么作用和区别(详解)
在前后端分离的开发框架中(例如 Vue、React 等),前端的构建和启动过程通常包括以下几种命令:npm run dev和 npm run build:prod。命令环境类型主要功能典型用途开发环境启动开发服务器,支持热更新,调试信息丰富,快速开发前端开发时本地启动应用,调试和修改功能测试环境构建并优化适合测试环境的代码,轻度优化,准备部署到测试环境部署到测试或预发布环境,进行集成和验收测试生产环境进行生产环境级别的压缩和优化,生成适合上线的代码。
2025-02-05 11:33:24
587
原创 Docker使用指南(一)——镜像相关操作详解(实战案例教学,适合小白跟学)
以下是常见的 Docker 镜像操作命令及其功能Docker 镜像操作涵盖了镜像的拉取、推送、构建、删除、保存、加载、查看和管理等功能。掌握这些命令可以帮助你高效地管理和使用 Docker 镜像。
2025-02-04 11:59:13
940
原创 Docker入门篇(Docker基础概念与Linux安装教程)
本文介绍了 Docker 的基础概念和常见应用,重点讲解了它如何解决跨系统部署问题,并与虚拟机进行了对比。我们还详细说明了 Docker 镜像、容器、Docker Hub 等核心概念,并提供了在 CentOS 上安装 Docker 的具体步骤。通过这篇教程,你应该能够理解 Docker 的基本功能并顺利安装使用它。掌握 Docker 将帮助你提高开发效率和部署灵活性。如果有更多问题,欢迎继续关注后续内容。Docker 分为 CE 和 EE 两大版本。CE即社区版(免费,支持周期7个月);
2025-02-03 16:45:06
1364
原创 Docker 安装详细教程(适用于CentOS 7 系统)
Docker 分为 CE 和 EE 两大版本。CE即社区版(免费,支持周期7个月);EE即企业版,强调安全,付费使用,支持周期24个月。Docker CE 分为和nightly三个更新频道。官方网站上有各种环境下的安装指南,这里主要介绍Docker CE在CentOS上的安装。Docker CE 支持64位版本 CentOS7,并且要求内核版本不低于3.10,CentOS7满足最低内核的要求,所以我们在CentOS7安装Docker。
2025-02-03 12:47:37
1296
原创 Spring MVC学习——发送请求(@RequestMapping注解及请求参数绑定)
Spring MVC作为Spring框架中的核心组件之一,其强大的功能在于能简洁高效地处理HTTP请求和响应。在开发Web应用时,理解和正确使用Spring MVC的注解,尤其是注解,至关重要。本文将详细讲解注解的使用方法,及其如何绑定请求参数到控制器方法的参数。
2025-02-02 12:51:47
878
原创 深入理解SpringMVC:数据处理、文件上传与异常处理等常见技术应用及解决方案
SpringMVC 是一种非常流行的 Web 应用框架,广泛用于构建基于 Java 的 Web 应用程序。在这篇博客中,我们将详细讲解 SpringMVC 中的几种常见技术应用及解决方案,包括页面跳转、响应 JSON 数据、文件上传、异常处理等。@Override@Override@Override(SysException) ex : new SysException("系统正在维护,请联系管理员");return mv;
2025-02-02 12:46:05
979
原创 Java Web的发展史与SpringMVC入门学习(SpringMVC框架入门案例)
在这篇文章中,我们将探讨Java Web的演变历史、经典开发模式(如Model I与Model II),以及SpringMVC框架的入门案例。通过这些内容,你将能够理解Web应用的设计理念及其演变过程,并掌握一个简单的SpringMVC项目的搭建过程。MVC(Model-View-Controller)是一种常见的软件架构模式,用于开发用户界面。Model(模型):处理数据和业务逻辑。View(视图):负责数据的展示,用户界面部分。Controller(控制器)
2025-02-02 11:48:15
848
原创 解析与使用 Apache HttpClient 进行网络请求和数据抓取
Apache HttpClient 是 Apache 提供的一个用于处理 HTTP 请求和响应的工具类库。它提供了一种便捷、功能强大的方式来发送 HTTP 请求,并解析 HTTP 响应。HttpClient 适用于多种网络请求场景,能够帮助我们高效地与 Web 服务进行交互。HttpClient 是在 JDK 的基础类库基础上进行封装和增强的一个 HTTP 请求工具库。它提供了更强大、更灵活的功能,比如支持连接池、认证机制、重定向、请求重试等,帮助我们提高开发效率和代码质量。连接池管理。
2025-02-01 21:35:49
1350
原创 Spring JDBC:简化数据库操作的利器
Spring JDBC是Spring框架提供的一种简化数据库操作的机制。它为JDBC(Java Database Connectivity)提供了一个更高层次的抽象,使得开发者可以更加便捷地进行数据库访问,减少了JDBC中繁琐的资源管理和异常处理工作。JDBC是Java与数据库交互的标准方式,但原生的JDBC API存在一些缺点,比如需要大量的模板代码、异常处理复杂等。Spring JDBC通过JdbcTemplate类封装了这些繁琐的操作,使得开发者能够更加专注于业务逻辑,而不是低级的数据库细节。
2025-02-01 21:23:44
749
原创 使用 Spring JDBC 进行数据库操作:深入解析 JdbcTemplate
Spring JDBC 是 Spring 框架中的一个模块,旨在简化数据库访问操作。它通过封装底层的 JDBC API,减少了繁琐的代码,提高了开发效率。传统的 JDBC 编程要求开发人员手动处理数据库连接、SQL 执行、错误处理以及资源释放等。而 Spring JDBC 通过提供类以及其他辅助工具,屏蔽了这些底层细节,使得数据库操作更加简单、直观且易于维护。是 Spring 框架中用于简化 JDBC 操作的核心类,它对传统的 JDBC API 做了封装,提供了丰富的方法,方便开发人员进行数据库操作。
2025-02-01 21:13:36
747
原创 Spring AOP 入门教程:基础概念与实现
在本篇博客中,我们将详细介绍Spring AOP(面向切面编程)的基本概念、应用及实现方法。AOP 是一种能够在不修改源代码的前提下对程序进行增强的技术,广泛应用于日志记录、性能统计、权限校验等领域。我们将从概念入手,逐步展示如何使用Spring AOP实现增强功能。AOP(Aspect-Oriented Programming)是“面向切面编程”的缩写,它是对传统OOP(面向对象编程)的补充,通过在程序执行过程中动态地插入额外的功能来增强代码的可复用性与模块化。Spring AOP 通过代理。
2025-02-01 20:48:59
1181
原创 深入理解Spring框架:从基础到实践
Spring框架是一个轻量级的开源Java框架,它于2003年由Rod Johnson提出,并迅速获得开发者的青睐。Spring的核心思想是简化企业应用开发,尤其是JavaEE应用开发的复杂性。IOC(控制反转):通过Spring容器管理对象的生命周期和依赖关系,解决了传统编程中对象创建的繁琐性和耦合性。AOP(面向切面编程):允许开发者在不修改源代码的情况下,增强程序的功能,比如权限控制、日志记录等。IOC(控制反转)是Spring的核心理念之一。
2025-02-01 20:12:14
902
原创 使用 SpringBoot+Thymeleaf 模板引擎进行 Web 开发
在现代 Web 开发中,模板引擎被广泛用于将动态内容渲染到静态页面中。Thymeleaf是一种流行的模板引擎,特别适用于 Spring Boot 项目。它能够在服务器端渲染 HTML 页面,同时支持与业务逻辑分离的开发模式,提高了开发效率。模板引擎主要用于解决前端显示和后端业务数据的分离。通过模板引擎,可以将动态数据填充到静态页面中,如 HTML 或 XML 格式,从而实现视图与数据的分离。这样,不仅提升了开发效率,还使得代码更易于重用,保持了良好的设计模式。
2025-02-01 18:16:19
1078
原创 Linux系统上安装与配置 MySQL( CentOS 7 )
以上是如何在 Linux系统(CentOS 7) 上安装 MySQL、设置 root 用户密码并配置远程访问权限的完整步骤。通过这些操作,你可以成功启动 MySQL 服务并进行管理。确保密码策略符合要求,并根据需要调整防火墙设置以便远程访问。
2025-01-31 12:49:05
1292
原创 Git 版本控制:基础介绍与常用操作
Git 是一个强大的版本控制工具,它能够帮助开发者高效地管理代码版本,追踪代码修改,避免版本冲突,并且支持多人协作开发。掌握 Git 的基本操作和工作流程对于现代软件开发至关重要。如果你刚刚开始接触 Git,建议多练习命令行操作,理解每一个命令的意义,逐步建立起版本控制的思维方式。希望本文能帮助你更好地理解 Git,并使用它进行版本管理和团队协作。t=O83AGit 官网https://git-scm.com/downloadshttps://git-scm.com/downloads。
2025-01-30 11:05:48
1358
1
原创 Selenium 浏览器操作与使用技巧——详细解析(Java版)
Selenium 是一款非常强大的 Web 自动化测试工具,能够帮助开发者与测试人员进行浏览器的自动化操作。通过 Selenium,您不仅可以进行传统的自动化测试,还可以实现网站监控、动态元素处理、用户交互等高级功能。本文将详细介绍 Selenium 的一些常见操作,包括浏览器控制、元素交互、截图、文件上传、动态元素等待等,以及如何用 Selenium 实现网站监控。Selenium 是一个非常强大的自动化测试工具,除了传统的自动化测试应用,它还可以用于浏览器操作、动态元素处理、表单交互等多个场景。
2025-01-29 23:56:30
1647
原创 Selenium自动化测试框架 入门与使用
Selenium 是一个开源的 Web 自动化测试框架,支持多种编程语言(如 Java、Python、C# 等),可模拟用户操作浏览器。
2025-01-29 20:23:42
683
原创 selenium自动化测试框架——面试题整理
Selenium 是一个开源的 Web 自动化测试框架,支持多种编程语言(如 Java、Python、C# 等),可模拟用户操作浏览器。Selenium Grid 允许分布式执行测试,在不同机器和浏览器上并行运行测试。Selenium 主要用于 Web 自动化测试,熟悉 WebDriver API、定位方式、等待机制、异常处理及 JavaScript 操作可以大大提高测试的稳定性和效率。
2025-01-29 17:44:47
831
原创 MyBatis 关联映射详解
一对一 & 多对一可以使用连表查询或分步查询(懒加载)。一对多关系可以使用结果嵌套或查询嵌套。懒加载需要在MyBatis 配置文件和映射 XML里配置。某些查询可以强制使用立即加载(eager),避免不必要的多次查询。
2025-01-29 17:36:28
395
原创 MyBatis 注解开发详解
MyBatis 提供了基于 XML 配置和基于注解的两种开发方式。注解方式相对简单,但实际开发中更推荐使用 XML 配置方式,以减少对源代码的修改,提高可维护性。注解方式可以快速开发,但 XML 配置更具灵活性和可维护性。@One和@Many结合可以实现延迟加载,优化查询性能。CRUD 操作通过@Insert@Select@Update@Delete进行实现。一对多、多对一映射可以用@One和@Many进行关联查询。
2025-01-29 17:24:50
585
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人