架构2025
文章平均质量分 91
guslegend
后端的学习者,可以加我的微信guslegend_,进入我的后端交流群,我们大家一起共同进步!
展开
专栏收录文章
- 默认排序
- 最新发布
- 最早发布
- 最多阅读
- 最少阅读
-
Tomact高级使用及原理剖析
摘要:Tomcat是一个基于Servlet规范的HTTP服务器和Servlet容器。其核心架构分为连接器(Coyote)和容器(Catalina)两大组件:Coyote负责网络通信,支持HTTP/1.1、AJP等协议及NIO/NIO2等I/O模型;Catalina作为Servlet容器,通过分层结构(Engine-Host-Context-Wrapper)处理请求。Tomcat工作原理为:连接器将HTTP请求转换为ServletRequest对象,容器根据URL映射调用对应Servlet,处理完成后通过Se原创 2025-12-22 16:31:17 · 1244 阅读 · 0 评论 -
SpringSecurity源码剖析
Spring Boot启动时会通过spring.factories加载Spring Security的自动配置类SecurityFilterAutoConfiguration。核心过滤器链由WebSecurityConfiguration创建,它会检查是否有自定义的WebSecurityConfigurer配置,若无则创建默认空适配器(禁用CSRF),若有则应用所有自定义配置。过滤器链最终构建为FilterChainProxy实现类。认证流程涉及UsernamePasswordAuthenticationF原创 2025-12-19 10:43:06 · 356 阅读 · 1 评论 -
SpringSecurity授权原理与实战
本文介绍了Spring Security的授权机制,主要包括权限表达式、URL访问控制、RBAC权限模型和页面标签控制。系统通过比较用户权限和URL配置权限实现访问控制,提供hasRole、hasAuthority等内置表达式。文章详细讲解了自定义授权类开发、方法级安全注解(@PreAuthorize)使用,以及基于RBAC模型的权限表设计和动态权限查询实现。最后介绍了thymeleaf-security标签在页面端的权限控制应用,包括用户认证状态判断、权限/角色检查等功能,实现前后端统一的权限管理体系。原创 2025-12-18 15:26:08 · 714 阅读 · 0 评论 -
SpringSecurity认证原理与实战
本文介绍了基于Spring Security的安全管理系统开发过程。主要内容包括:1) 项目初始化配置Maven依赖和数据库表结构;2) 实现表单登录认证功能,包括自定义登录页面、密码加密和RememberMe功能;3) 使用UserDetailsService实现基于数据库的用户认证;4) 会话管理配置,包括会话超时、并发控制和集群Session共享;5) 安全防护措施,如CSRF防护和跨域支持。系统通过Spring Security的过滤器链实现安全控制,整合了Thymeleaf模板、Redis缓存和M原创 2025-12-17 17:48:44 · 520 阅读 · 0 评论 -
SpringSecurity入门
摘要:Spring Security是基于Spring的安全框架,提供身份认证、授权和防护功能。相比Shiro,它与Spring深度集成,支持OAuth/OpenID,权限控制更精细。典型应用包括用户登录授权、单点登录和第三方登录集成。入门案例演示了基本配置:添加依赖后,默认会生成随机密码,访问接口自动跳转登录页。该框架是保护Spring应用的安全标准方案,适用于各类认证授权需求。原创 2025-12-16 08:37:38 · 467 阅读 · 0 评论 -
SpringBoot 部署与监控
SpringBoot项目部署与监控实践摘要 本文介绍了SpringBoot项目的两种打包部署方式:jar包适合独立运行的REST服务项目,通过java -jar命令直接启动;war包适合包含大量静态资源的项目,需部署到Tomcat容器。详细说明了两种方式的配置差异和启动类改造要点。同时探讨了多环境部署方案,包括@Profile注解和资源文件配置。重点讲解了SpringBoot Actuator监控功能的使用,涵盖健康检查、线程分析、配置查看等核心端点,并介绍了SpringBoot Admin对监控界面的可视原创 2025-12-15 08:26:59 · 849 阅读 · 0 评论 -
SpringBoot 缓存深入
本文介绍了JSR107缓存规范和Spring Cache缓存抽象的使用。JSR107定义了缓存的核心接口(CachingProvider、CacheManager等),而Spring Cache通过@Cacheable、@CachePut等注解实现了声明式缓存管理。文章详细说明了缓存注解的属性和用法,包括缓存条件、键生成策略等,并提供了数据库环境搭建和Redis缓存配置的实例。最后针对Redis缓存乱码问题,给出了自定义RedisCacheManager的解决方案,通过配置序列化方式确保数据正确存储。整体阐原创 2025-12-14 19:31:14 · 1150 阅读 · 0 评论 -
SpringBoot高级进阶
本文介绍了Spring Boot中数据源的自动配置与动态切换实现。首先讲解了基本数据源配置方式,包括MySQL驱动引入、连接参数设置和连接池选择(默认HikariCP)。其次详细解析了MyBatis自动配置原理,包括@MapperScan注解的工作机制。重点阐述了动态数据源切换的实现方案:通过继承AbstractRoutingDataSource,结合ThreadLocal存储数据源标识,并最终使用自定义注解和AOP实现声明式的数据源切换。文章提供了完整的代码示例,包括多数据源配置、路由数据源实现以及注解式原创 2025-12-13 08:34:18 · 1059 阅读 · 0 评论 -
SpringBoot源码剖析
本文深入剖析了SpringBoot的核心机制:1. 依赖管理通过spring-boot-starter-parent统一管理版本,实现依赖自动传递;2. 自动配置基于@EnableAutoConfiguration加载spring.factories中的配置类,结合条件注解实现智能装配;3. 启动流程通过SpringApplication.run()完成环境准备、上下文初始化和内嵌容器启动;4. 内嵌Tomcat通过ServletWebServerFactoryAutoConfiguration实现容器自动原创 2025-12-12 10:59:08 · 763 阅读 · 0 评论 -
SpringBoot应用回顾
本文介绍了SpringBoot框架的核心概念与应用实践。主要内容包括:1)约定优于配置的设计理念,减少开发配置;2)SpringBoot快速入门案例及中文乱码解决方案;3)热部署实现与原理;4)全局配置文件的优先级与使用;5)属性注入的多种方式(@Value、@ConfigurationProperties等);6)日志框架集成与自定义配置。文章通过具体代码示例演示了SpringBoot的自动配置、内嵌服务器等特性,并解答了常见开发问题,为快速构建SpringBoot应用提供了实用指导。原创 2025-12-11 09:42:18 · 1300 阅读 · 0 评论 -
Spring AOP高级应用与源码剖析
本文介绍了Spring AOP的核心概念和高级应用。主要内容包括:1. AOP本质及术语解释(连接点、切入点、通知等);2. Spring AOP代理选择机制(JDK/CGLIB);3. XML和注解两种配置方式实现AOP;4. 五种通知类型(前置、后置、异常、最终、环绕)及其配置;5. 声明式事务的四大特性(ACID)和七种传播行为;6. 事务隔离级别及解决方案;7. 三种事务配置方式(纯XML、XML+注解、纯注解)。文章详细阐述了如何在Spring框架中实现面向切面编程和事务管理。原创 2025-12-10 08:06:58 · 997 阅读 · 0 评论 -
Spring IOC高级应用和源码剖析
本文系统介绍了Spring IOC容器的核心机制与实现原理。主要内容包括:1. Spring IOC的三种配置方式(纯XML、XML+注解、纯注解)及其实现机制;2. Bean的生命周期管理,包括作用域、延迟加载、初始化与销毁方法;3. 依赖注入的两种方式(构造器注入和setter注入)及注解实现;4. 高级特性如FactoryBean、后置处理器(BeanPostProcessor和BeanFactoryPostProcessor)的工作原理;5. 循环依赖问题的解决方案,重点分析了单例模式下通过提前暴露原创 2025-12-09 18:31:11 · 1600 阅读 · 0 评论 -
Spring的IOC 和AOP基础概述
摘要:Spring是一个轻量级的分层框架,其核心思想是IOC(控制反转)和AOP(面向切面编程)。IOC通过DI(依赖注入)实现对象创建和管理的解耦,AOP则解决横向代码重复问题。Spring包含核心容器、AOP、数据访问、Web和测试等模块,提供声明式事务、简化测试、集成优秀框架等功能,显著降低开发难度,提高代码可维护性。官网:https://spring.io/。原创 2025-12-07 20:50:31 · 536 阅读 · 0 评论 -
Mybatis基础回顾和高级应用
本文摘要: Mybatis是一款基于ORM的半自动轻量级持久化框架,支持定制化SQL和高级映射。文章详细介绍了Mybatis的环境搭建、CRUD操作、核心配置文件(sqlMapConfig.xml)的编写,以及传统DAO层开发与代理开发方式的对比。重点讲解了Mybatis的复杂映射关系(一对一、一对多、多对多)的实现方式,包括XML配置和注解开发两种方法。此外,还深入分析了Mybatis的缓存机制(一级缓存和二级缓存)及其工作原理,并介绍了如何整合Redis实现分布式缓存。最后,简要说明了Mybatis插件原创 2025-12-05 14:09:49 · 1271 阅读 · 0 评论 -
MybatisPlus
MyBatis-Plus是一个MyBatis的增强工具,在MyBatis基础上只做增强不做改变,简化开发、提高效率。主要特性包括:1. 内置通用Mapper/Service,减少SQL编写;2. 支持Lambda形式调用;3. 提供分页插件、性能分析插件等;4. 支持自动填充、逻辑删除等功能。快速入门需配置JDK8+环境,通过Maven引入mybatis-plus-boot-starter依赖。MyBatis-Plus支持三种整合方式:原生MyBatis+MP、Spring+MyBatis+MP和Sprin原创 2025-12-03 17:58:44 · 1790 阅读 · 0 评论
分享