- 博客(10)
- 收藏
- 关注
原创 Spring Security-02
本文分析了Spring Security数据库登录流程,详细介绍了从访问URL到成功登录的10个关键步骤,包括过滤器拦截、数据库查询、密码匹配等核心环节。针对自定义登录页需求,文章提供了Thymeleaf模板实现方案,并解决了认证请求配置问题。在用户信息获取方面,探讨了Principal、Authentication等多种方式,并给出了优化方案。最后还介绍了JSON日期格式处理和密码隐藏的安全建议。整个流程涵盖了Spring Security的核心认证机制和常见业务场景的解决方案。
2025-12-23 17:29:11
939
原创 SpringSecurity_01
SpringSecurity是基于Spring框架的安全框架,提供认证和授权功能,通过过滤器链实现安全控制。其核心组件包括SecurityContextHolder、AuthenticationManager等,支持多种认证方式和权限控制。开发中可通过配置类自定义密码加密器(如BCryptPasswordEncoder),并实现UserDetailsService接口从数据库加载用户信息。典型应用包括Web安全防护、REST API保护和单点登录等。该框架通过内置防护机制(如CSRF、XSS防御)和灵活扩展
2025-12-23 17:25:48
952
原创 SpringMVC-01
本文介绍了三层架构与SpringMVC框架的整合应用。三层架构将系统划分为表现层、业务逻辑层和数据访问层,实现高内聚低耦合的设计目标。SpringMVC作为表现层框架,基于MVC模式处理Web请求,包含DispatcherServlet、HandlerMapping等核心组件。文章详细讲解了@RequestMapping注解的使用方法,并通过一个Vue3前后端分离案例演示了跨域解决方案和参数绑定技术,包括基本类型、对象、集合等参数的绑定方式,以及@RequestParam、@RequestBody等注解的应
2025-12-19 08:56:17
860
原创 Spring事务及整合MyBatis
事务(Transaction)是数据库操作的最小工作单元,它将一系列操作组合成一个不可分割的逻辑单元,这些操作要么全部成功执行,要么全部失败回滚,以此保证数据的一致性和完整性。在 Spring 框架中,事务管理是其核心功能之一,它提供了一个抽象层来管理事务,屏蔽了不同数据库和持久层框架的差异。声明式事务管理:通过配置而非硬编码的方式管理事务,业务代码与事务代码分离一致的编程模型:无论使用何种持久层技术,事务管理的 API 保持一致灵活的事务配置:支持多种事务传播行为和隔离级别。
2025-12-15 16:40:06
1124
原创 动态代理及SpringAOP
摘要:Spring AOP是基于动态代理的面向切面编程技术,通过分离横切关注点(如日志、事务)提高代码模块化。它支持JDK动态代理(基于接口)和CGLIB动态代理(基于继承),通过@Aspect注解定义切面,使用@Before/@Around等通知类型实现方法增强。核心优势包括非侵入式设计、声明式配置和松耦合特性,典型应用场景包括日志记录、权限控制等。文中通过用户管理系统案例演示了如何结合多种AOP功能实现权限验证、性能监控等系统级服务。
2025-12-10 16:24:46
671
原创 Spring 注解详解
Spring 注解是实现 IoC(控制反转)和 DI(依赖注入)的核心方式,通过注解可以替代传统 XML 配置,大幅简化开发流程。与 XML 配置相比,注解具有配置简洁、可读性强、开发效率高等优势,已成为 Spring 开发的主流选择。注解类别常用注解核心作用组件注册@Component@Service将类注册为 Spring 管理的 Bean依赖注入@Autowired@Qualifier@Resource实现 Bean 之间的依赖注入配置相关@Bean定义配置类和 Bean 实例。
2025-12-10 16:22:10
896
原创 MyBatis注解开发
MyBatis 注解开发是通过 Java 注解替代传统 XML 映射文件的方式,实现 SQL 语句与 Mapper 接口方法的直接绑定。这种方式减少了配置文件的依赖,使代码结构更紧凑,适合中小型项目或简单 SQL 场景。MyBatis 注解开发通过简洁的注解方式实现了 SQL 与接口的绑定,极大简化了开发流程。本文详细介绍了从环境搭建到各类注解的使用案例,涵盖了基础 CRUD、结果映射、关联查询、动态 SQL、缓存配置和分页操作等核心功能。
2025-09-26 22:44:41
796
原创 MyBatis延迟加载及缓存
MyBatis延迟加载与缓存机制详解 摘要: MyBatis提供延迟加载功能优化数据访问性能,通过代理对象实现按需加载关联数据,减少初始加载时间和内存消耗。配置需在mybatis-config.xml中开启lazyLoadingEnabled,通过fetchType指定关联关系加载策略。同时MyBatis具备两级缓存机制:一级缓存为SqlSession级别,默认开启;二级缓存为Mapper级别,需显式配置,可跨SqlSession共享。缓存机制通过减少数据库访问提升性能,但需注意N+1问题和缓存一致性。实体
2025-09-23 14:55:37
1622
原创 MyBatis多表查询
以下是使用MyBatis实现一对一、一对多和多对多关系的详细步骤。编写一个测试类,验证上述映射是否正确。) 的关系为多对多,通过中间表。) 的关系为一对一。) 的关系为一对多。
2025-09-22 15:00:00
1450
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人
RSS订阅