Spring

首页 标签 Spring
# Spring #
关注
47929内容
|
2小时前
|
【分层架构】Spring MVC三层架构 / DDD领域驱动四层架构 / 微服务分布式架构(DAO/Mapper/Repository/Service/Controller/Manager)
本文系统解析Java企业级分层架构(Controller/Service/Manager/Repository/DAO/Mapper),阐明各层职责边界、设计原则与典型误区,强调单一职责、依赖倒置、关注点分离等核心思想,助力构建高内聚、低耦合、易维护的可扩展系统。
|
3小时前
|
基于JWT+SpringSecurity整合一个单点认证授权机制
本文介绍了基于JWT和SpringSecurity的授权认证机制架构设计。系统采用RBAC权限模型,通过5张表描述用户-角色-权限关系。认证流程包含登录验证、IP检查、密码匹配等环节,使用JWT生成token并保存用户信息到Redis。授权部分利用@PreAuthorize注解和PermissionService实现权限校验,支持单权限、多权限及角色验证。整体架构通过过滤器链实现无状态认证,兼顾安全性和灵活性,为开发者提供了完整的认证授权解决方案。
|
3小时前
|
基于自定义线程池手写一个异步任务管理器
我们在后端执行某些耗时逻辑操作时往往会导致长时间的线程阻塞,在这种情况之下,我们往往会引一条异步线程去处理这些异步任务,如果每次都创建新的线程来处理这些任务,不仅会增加代码冗余,还可能造成线程管理混乱,影响系统性能。在我们的Spring框架中是自带异步任务处理机制的,比如我们使用@Async 注解可以处理一些简单的异步任务,但这样确实无法精确去控制线程池资源,也无法灵活去管理任务调度,由此,我们可以去自行设计一个高效的自定义异步任务管理器去统一调度处理我们的自定义任务。
|
3小时前
| |
【SpringAIAlibaba新手村系列】(3)ChatModel 与 ChatClient 的深度对比
本章深度解析 Spring AI 中 `ChatModel`(底层接口)与 `ChatClient`(高级封装)的本质区别:前者如“手动挡”,精准控制但需写大量样板代码;后者似“智能点餐机”,链式调用、支持系统提示、模板、工具调用等,开发高效。初学者推荐优先使用 `ChatClient`。
|
3小时前
|
详解RabbitMQ1-基础使用
MQ异步通信技术摘要 MQ(消息队列)是一种异步通信方式,通过消息Broker实现生产者、消费者解耦。RabbitMQ作为主流MQ方案,支持多种交换机类型(Fanout广播、Direct路由、Topic主题)实现灵活消息路由。Spring AMQP简化了RabbitMQ集成,提供: 自动声明队列/交换机 注解式监听器 RabbitTemplate消息模板 核心优势包括降低耦合、提升性能、故障隔离,但也需考虑Broker可靠性问题。实际开发中需注意: 配置prefetch控制消费速率 使用JSON转换器替代默
|
3小时前
|
详解RabbitMQ2-高阶技巧
摘要:本文详细探讨了RabbitMQ消息可靠性的保障措施,从生产者、MQ到消费者的全流程解决方案。针对生产者端提出重试机制和确认机制(PublisherConfirm/Return),MQ层面通过持久化和LazyQueue防止消息丢失。消费者端则采用确认机制(ack/nack/reject)、失败重试策略(最大重试次数限制)以及异常消息重定向机制(RepublishMessageRecoverer)。此外,还介绍了幂等性处理方案(唯一消息ID/业务状态判断)和两种延迟消息实现方式(死信交换机与DelayEx
|
15小时前
|
Spring Boot学习知识点大全(三)
教程来源 https://app-a6nw7st4g741.appmiaoda.com/ 系统梳理Spring Boot核心实践:涵盖日志分级配置与异步输出、单元/集成测试、Actuator监控与自定义指标、Docker/K8s部署、Spring Boot 3.x Jakarta迁移及虚拟线程等新特性,助力构建高可用生产级应用。
详解RabbitMQ1-基础使用
MQ异步通信技术摘要 MQ(消息队列)是一种异步通信方式,通过消息Broker实现生产者、消费者解耦。RabbitMQ作为主流MQ方案,支持多种交换机类型(Fanout广播、Direct路由、Topic主题)实现灵活消息路由。Spring AMQP简化了RabbitMQ集成,提供: 自动声明队列/交换机 注解式监听器 RabbitTemplate消息模板 核心优势包括降低耦合、提升性能、故障隔离,但也需考虑Broker可靠性问题。实际开发中需注意: 配置prefetch控制消费速率 使用JSON转换器替代默
详解RabbitMQ2-高阶技巧
摘要:本文详细探讨了RabbitMQ消息可靠性的保障措施,从生产者、MQ到消费者的全流程解决方案。针对生产者端提出重试机制和确认机制(PublisherConfirm/Return),MQ层面通过持久化和LazyQueue防止消息丢失。消费者端则采用确认机制(ack/nack/reject)、失败重试策略(最大重试次数限制)以及异常消息重定向机制(RepublishMessageRecoverer)。此外,还介绍了幂等性处理方案(唯一消息ID/业务状态判断)和两种延迟消息实现方式(死信交换机与DelayEx
深入浅出地理解SpringBoot自动装配原理
摘要: SpringBoot通过起步依赖和自动配置简化了JavaWeb开发。起步依赖(如spring-boot-starter-web)集成关联依赖,减少手动配置;自动配置基于@Conditional条件装配Bean,避免繁琐声明。文章解析了自动配置源码(如@EnableAutoConfiguration导入AutoConfigurationImportSelector),并演示如何手写自定义starter。
免费试用