什么是RESTful
RESTful是一种设计规范,强调将资源抽象为URI,通过HTTP动词(GET/POST/PUT/DELETE)对其进行操作,实现统一、标准的接口风格,提升可读性与可维护性。
Gateway服务网关
网关是微服务的统一入口,实现请求路由、权限控制与限流。基于Spring Cloud Gateway可快速搭建高性能网关,支持断言与过滤器灵活配置,并解决跨域问题,提升系统安全性和可维护性。
消息中间件RabbitMQ(高级)
本节深入探讨RabbitMQ在生产环境中的高可用与可靠性问题,涵盖消息确认、持久化、消费者重试、死信队列、延迟消息、惰性队列及集群搭建。通过实战案例实现消息不丢失、延迟处理与高并发支撑,全面提升系统稳定性与可扩展性。(239字)
SpringCloud工程部署启动
本教程介绍SpringCloud微服务工程搭建与部署,涵盖完整项目导入或从零创建父/子模块,配置Maven依赖、数据库连接及业务代码。通过RestTemplate实现order-service调用user-service获取用户信息,演示微服务间远程通信原理,帮助理解服务拆分与调用关系,掌握基础分布式架构实践。
大厂如何解决订单幂等问题
本文介绍分布式系统中接口幂等性的实现方案。通过订单创建与支付场景,阐述如何利用唯一标识、数据库主键约束及Redis防止重复处理;针对ABA问题,提出基于版本号的乐观锁机制,确保数据一致性。方案可通用化应用于各类数据库操作服务。
Ribbon负载均衡
本节深入讲解Ribbon实现客户端负载均衡的原理,解析@LoadBalanced注解的作用机制,剖析其如何通过RestTemplate拦截请求、选择服务实例并重写URL。内容涵盖负载均衡分类、常见算法、Ribbon自定义策略配置(代码与配置文件方式)、饥饿加载优化,并对比后续将学的Nacos等技术差异,帮助读者全面理解微服务中负载均衡的实现与演进。(238字)
Eureka服务注册与发现
本章介绍Eureka注册中心的搭建与使用,完成user-service和order-service服务注册,并实现多实例部署。虽Eureka已被SpringCloud逐步淘汰,但其核心思想仍具参考价值,后续将用Nacos替代深入探讨。
@RefreshScope热更新原理
@RefreshScope通过组合注解实现配置热更新,核心在于@Scope("refresh")与代理机制。标注该注解的Bean被缓存,配置变更时清空缓存并触发Spring重新创建实例,结合Environment刷新,实现@Value属性动态更新,本质是缓存失效+Bean重建机制。
@Inherited
@Inherited用于注解上,表示该注解可被子类继承。当加在父类时,子类会自动继承该注解;但接口间继承或类实现接口时,均不继承注解,无论是否使用@Inherited。
SpringBoot使用汇总
本课程系统讲解Spring Boot核心知识,涵盖环境搭建、JSON数据处理、日志记录、属性配置、MVC支持、异常处理等,结合实战案例与源码解析,助力开发者快速掌握微服务开发技能。
RabbitMQ部署指南
本文介绍RabbitMQ在CentOS7下基于Docker的单机与集群部署方案,涵盖镜像安装、DelayExchange插件配置、普通模式与镜像模式集群搭建,并详解仲裁队列使用及集群扩容方法,助力实现高可用消息队列服务。
2. 整合切面,参数拦截+过滤
基于Spring AOP实现的请求拦截切面,用于记录Web层入参信息。自动捕获请求来源、URL、方式、响应方法及参数,并记录执行耗时,便于调试与日志追踪,支持后续扩展至日志存储或ELK分析。
什么是RESTful
RESTful是一种基于资源的API设计规范,通过统一的HTTP方法(GET/POST/PUT/DELETE)对资源进行操作,提升接口的可读性、规范性和可维护性。它强调URI代表资源、使用标准HTTP动词、无状态交互,避免在路径中使用动词,确保行为一致、结构清晰,便于系统扩展与协作。
RememberMe简介及用法
RememberMe功能通过Cookie实现用户登录状态持久化,避免重复登录。其本质是服务端生成令牌存于Cookie,后续请求自动携带并校验,关闭浏览器后仍可保持登录。但存在令牌泄露风险,需结合数据库持久化Token、设置过期时间及二次验证提升安全性。
SpringBoot使用汇总
本节课主要系统的讲解了 Spring Boot 集成 MyBatis 的过程,分为基于 xml 形式和基于注解的形式来讲解,通过实际配置手把手讲解了 Spring Boot 中 MyBatis 的使用方式,并针对注解方式,讲解了常见的问题已经解决方式,有很强的实战意义。在实际项目中,建议根据实际情况来确定使用哪种方式,一般 xml 和注解都在用。
1. 整合Logback,滚动记录+多文件
本文介绍了`logback-spring.xml`的配置与使用,通过定义多个Appender和Logger实现日志分级输出至不同文件,如支付、任务、SQL等;结合`LogProxy.getLogger()`在Java代码中按名称获取指定日志记录器,实现精准日志分类管理,提升系统可维护性。(238字)
@Configuration
被@Configuration标注的类视为Spring配置类,相当于XML配置文件。通过@Bean注册Bean,配合AnnotationConfigApplicationContext可启动IOC容器,加载配置类及其中的Bean组件。
OAuth2.0实战案例
本教程介绍如何搭建Spring Boot集成Security与OAuth2的项目,包括创建父工程、配置依赖管理、添加资源模块及数据库连接,实现安全认证服务的基础架构。
大厂如何解决订单幂等问题
为保障分布式系统数据一致性,需实现接口幂等性。创建订单时,通过预生成唯一订单号并利用数据库主键唯一约束,防止重复插入;支付时结合Redis或DB流水表标记请求处理状态,避免重复扣款。针对ABA问题,采用版本号机制,更新时校验版本并原子自增,确保数据正确。方案适用于各类数据库操作,通用性强。
持久层框架MyBatisPlus
MyBatisPlus是MyBatis的增强框架,简化单表CRUD操作,内置分页、条件构造器、代码生成等功能,支持逻辑删除、枚举处理与JSON字段映射,提升开发效率。
SpringBoot
`@Configuration` 注解用于标记配置类,相当于 Spring 的 XML 配置文件,配合 `@Bean` 注解定义 Bean。通过 `AnnotationConfigApplicationContext` 可加载此类并启动 IOC 容器,实现组件注册与管理。
认识OAuth2.0
OAuth2.0是一种开放授权标准,允许第三方应用在用户授权下安全访问资源,无需获取用户账号密码。它通过令牌(token)机制实现权限控制,支持授权码、简化、密码和客户端四种模式,广泛用于第三方登录与服务间资源共享。
SpringBoot使用汇总
本系列课程从Spring Boot环境搭建开始,逐步讲解拦截器、Redis、ActiveMQ、Shiro、Lucene等技术的集成,最后实战搭建企业级项目架构,助你全面掌握Spring Boot开发核心技能。
1.自定义认证前端页面
本文介绍Spring Security基础配置:前端需手动创建文件夹并拷贝路径;后端新增接口与登录配置,通过SecurityConfig实现请求认证、表单登录及跳转,禁用CSRF。启动后访问/demo/index将自动跳转登录页,输入用户名密码后可成功获取接口数据。
2.通用权限管理模型
本文介绍了ACL、RBAC等常见权限模型。ACL通过用户/角色与权限直接绑定实现控制;RBAC则基于角色继承、职责分离等机制,提升权限管理的灵活性与安全性,适用于复杂系统。了解模型结构有助于构建清晰的权限体系。
4.认识SpringSecurity
SpringSecurity是Java生态中主流的权限框架,核心功能包括认证与鉴权。支持表单、OAuth2、JWT等多种认证方式,具备URL级、方法级授权及RBAC模型,可防御CSRF等攻击。其架构基于过滤器链,通过FilterChainProxy实现多安全过滤链,并结合ExceptionTranslationFilter处理认证异常,灵活且扩展性强。
大数据与机器学习
大数据领域前沿技术分享与交流,这里不止有技术干货、学习心得、企业实践、社区活动,还有未来。