自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 Spring Security_05

该文章衔接Spring Security的前4个章节。

2026-04-14 17:24:03 356

原创 Redis

Redis是一个高性能的key-value数据库,支持数据持久化、多种数据结构存储和主从备份。它适用于缓存、排行榜、计数器等场景,具有极高的读写性能(读11万次/秒,写8.1万次/秒)。Redis支持五种数据类型:String、Hash、List、Set和ZSet,每种类型都有对应的操作命令。在Java中可通过Jedis或SpringDataRedis访问Redis,后者通过RedisTemplate提供更便捷的操作。Redis提供两种持久化方式:RDB(快照)和AOF(命令日志),RDB适合备份但可能丢失

2026-03-16 16:41:51 411

原创 JWT认知及基本使用

摘要: JWT(JSON Web Token)是一种开放标准的安全传输方案,通过数字签名确保信息完整性。其核心优势包括:1)实现无状态授权,解决传统session认证的内存负载和CSRF攻击问题;2)支持跨域单点登录;3)结构分为Header(算法类型)、Payload(用户数据)和Signature(防伪签名)三部分。使用流程为:用户登录后生成JWT返回前端存储,后续请求携带验证。开发中需注意:Payload避免存储敏感信息,Secret密钥必须严格保密。实现可采用Hutool工具包,前端推荐使用sess

2026-03-06 19:49:49 413

原创 Spring Security-04

摘要:本文介绍了前后端分离开发中SpringSecurity的跨域解决方案和认证处理。通过禁用CSRF防护并配置CorsConfigurationSource实现跨域访问,创建统一返回格式Result类,实现登录成功/失败的处理器返回JSON数据。前端使用axios封装请求,以表单形式传递参数。最后指出无session状态下的认证问题,建议采用JWT方案替代传统session机制来保持用户状态。

2026-03-06 19:26:49 513

原创 Spring Security-03

本文介绍了两种用户权限配置方式:基于角色的权限分配和基于资源的权限分配。通过数据库表设计(用户表、角色表、权限表及中间表)实现多对多关系,详细说明了角色权限配置的具体实现步骤,包括表创建、数据插入、逆向工程生成实体、使用Spring Security的@PreAuthorize注解进行权限控制。同时演示了资源权限配置的实现方法,包括权限表设计、五表联查获取用户权限、权限验证等过程,并提供了完整的代码示例和测试结果,展示了如何通过hasRole和hasAuthority分别实现角色和资源的权限控制。

2026-02-26 16:13:39 1002

原创 Spring Security-02

本文分析了Spring Security数据库登录流程,详细介绍了从访问URL到成功登录的10个关键步骤,包括过滤器拦截、数据库查询、密码匹配等核心环节。针对自定义登录页需求,文章提供了Thymeleaf模板实现方案,并解决了认证请求配置问题。在用户信息获取方面,探讨了Principal、Authentication等多种方式,并给出了优化方案。最后还介绍了JSON日期格式处理和密码隐藏的安全建议。整个流程涵盖了Spring Security的核心认证机制和常见业务场景的解决方案。

2025-12-23 17:29:11 969

原创 SpringSecurity_01

SpringSecurity是基于Spring框架的安全框架,提供认证和授权功能,通过过滤器链实现安全控制。其核心组件包括SecurityContextHolder、AuthenticationManager等,支持多种认证方式和权限控制。开发中可通过配置类自定义密码加密器(如BCryptPasswordEncoder),并实现UserDetailsService接口从数据库加载用户信息。典型应用包括Web安全防护、REST API保护和单点登录等。该框架通过内置防护机制(如CSRF、XSS防御)和灵活扩展

2025-12-23 17:25:48 1051

原创 SpringMVC-01

本文介绍了三层架构与SpringMVC框架的整合应用。三层架构将系统划分为表现层、业务逻辑层和数据访问层,实现高内聚低耦合的设计目标。SpringMVC作为表现层框架,基于MVC模式处理Web请求,包含DispatcherServlet、HandlerMapping等核心组件。文章详细讲解了@RequestMapping注解的使用方法,并通过一个Vue3前后端分离案例演示了跨域解决方案和参数绑定技术,包括基本类型、对象、集合等参数的绑定方式,以及@RequestParam、@RequestBody等注解的应

2025-12-19 08:56:17 913

原创 Spring事务及整合MyBatis

事务(Transaction)是数据库操作的最小工作单元,它将一系列操作组合成一个不可分割的逻辑单元,这些操作要么全部成功执行,要么全部失败回滚,以此保证数据的一致性和完整性。在 Spring 框架中,事务管理是其核心功能之一,它提供了一个抽象层来管理事务,屏蔽了不同数据库和持久层框架的差异。声明式事务管理:通过配置而非硬编码的方式管理事务,业务代码与事务代码分离一致的编程模型:无论使用何种持久层技术,事务管理的 API 保持一致灵活的事务配置:支持多种事务传播行为和隔离级别。

2025-12-15 16:40:06 1155

原创 动态代理及SpringAOP

摘要:Spring AOP是基于动态代理的面向切面编程技术,通过分离横切关注点(如日志、事务)提高代码模块化。它支持JDK动态代理(基于接口)和CGLIB动态代理(基于继承),通过@Aspect注解定义切面,使用@Before/@Around等通知类型实现方法增强。核心优势包括非侵入式设计、声明式配置和松耦合特性,典型应用场景包括日志记录、权限控制等。文中通过用户管理系统案例演示了如何结合多种AOP功能实现权限验证、性能监控等系统级服务。

2025-12-10 16:24:46 736

原创 Spring 注解详解

Spring 注解是实现 IoC(控制反转)和 DI(依赖注入)的核心方式,通过注解可以替代传统 XML 配置,大幅简化开发流程。与 XML 配置相比,注解具有配置简洁、可读性强、开发效率高等优势,已成为 Spring 开发的主流选择。注解类别常用注解核心作用组件注册@Component@Service将类注册为 Spring 管理的 Bean依赖注入@Autowired@Qualifier@Resource实现 Bean 之间的依赖注入配置相关@Bean定义配置类和 Bean 实例。

2025-12-10 16:22:10 1006

原创 MyBatis注解开发

MyBatis 注解开发是通过 Java 注解替代传统 XML 映射文件的方式,实现 SQL 语句与 Mapper 接口方法的直接绑定。这种方式减少了配置文件的依赖,使代码结构更紧凑,适合中小型项目或简单 SQL 场景。MyBatis 注解开发通过简洁的注解方式实现了 SQL 与接口的绑定,极大简化了开发流程。本文详细介绍了从环境搭建到各类注解的使用案例,涵盖了基础 CRUD、结果映射、关联查询、动态 SQL、缓存配置和分页操作等核心功能。

2025-09-26 22:44:41 814

原创 MyBatis延迟加载及缓存

MyBatis延迟加载与缓存机制详解 摘要: MyBatis提供延迟加载功能优化数据访问性能,通过代理对象实现按需加载关联数据,减少初始加载时间和内存消耗。配置需在mybatis-config.xml中开启lazyLoadingEnabled,通过fetchType指定关联关系加载策略。同时MyBatis具备两级缓存机制:一级缓存为SqlSession级别,默认开启;二级缓存为Mapper级别,需显式配置,可跨SqlSession共享。缓存机制通过减少数据库访问提升性能,但需注意N+1问题和缓存一致性。实体

2025-09-23 14:55:37 1648

原创 MyBatis多表查询

以下是使用MyBatis实现一对一、一对多和多对多关系的详细步骤。编写一个测试类,验证上述映射是否正确。) 的关系为多对多,通过中间表。) 的关系为一对一。) 的关系为一对多。

2025-09-22 15:00:00 1480

原创 MyBatis之动态SQL

mybatis动态sql的基本使用及案例

2025-09-21 21:52:12 1839

空空如也

空空如也

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

TA关注的人

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