![](https://img-blog.csdnimg.cn/20201014180756927.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
spring boot
文章平均质量分 83
Solomon_肖哥弹架构
Solomon(肖爱良) - 前百度环境音乐CTO&架构师、微服务专家 - 中国机械出版社签约作家,《深入理解Dubbo工业级架构设计》图书的作者 - 分享高并发、高可用、高性能的分布式(微服务、存储、事务、限流)架构设计原理
展开
-
MultipartFilter 应用场景说明
`MultipartFilter`用于处理多部分(multipart)请求的过滤器,这种请求通常用于上传文件。在 Servlet API 中,`MultipartResolver` 接口用于检测请求是否包含多媒体内容,而 `MultipartFilter` 则是一个具体的实现,用于在 Spring Web 应用程序中自动检测和处理这类请求。原创 2024-07-18 17:19:48 · 192 阅读 · 0 评论 -
HttpServiceProxyFactory 微服务业务远程调用案例说明
`HttpServiceProxyFactory` 使用这个工厂类来创建 HTTP 服务的代理,并实现与外部服务的交互。`HttpServiceProxyFactory` 类是一个用于创建 HTTP 服务代理的工厂类。它提供了一种机制,通过代理模式,允许开发者调用 HTTP 服务接口,就像调用本地方法一样,而实际的 HTTP 请求和响应处理则由代理对象负责。原创 2024-07-18 17:18:12 · 183 阅读 · 0 评论 -
HandlerMethodArgumentResolver 方法参数自动封装设计方案
`HandlerMethodArgumentResolver` 为解析控制器方法参数的核心设计。它允许开发者介入方法参数的解析过程,实现自定义的参数绑定逻辑。以下是接口方法的详细说明和业务场景示例:原创 2024-07-18 17:16:31 · 141 阅读 · 0 评论 -
ModelAndViewContainer 设计目的与应用场景
`ModelAndViewContainer` 是 Spring WEB 中的一个容器,它用于存储与当前请求相关的 `Model` 和 `View` 信息。这个容器在整个请求处理过程中被用来传递和存储这些信息,生命周期为直到最终确定视图用于渲染响应。原创 2024-07-17 13:29:17 · 143 阅读 · 0 评论 -
AsyncHandlerMethodReturnValueHandler 异步与同步返回值设计案例说明
`AsyncHandlerMethodReturnValueHandler` 它用于处理异步方法返回值的特殊情况。当控制器方法使用 `DeferredResult` 或 `Callable` 来处理异步逻辑时,这个接口允许开发者介入返回值的处理过程。原创 2024-07-17 13:27:28 · 564 阅读 · 0 评论 -
HandlerMethodArgumentResolver 方法参数自动封装设计方案
`HandlerMethodArgumentResolver` 为解析控制器方法参数的核心设计。它允许开发者介入方法参数的解析过程,实现自定义的参数绑定逻辑。以下是接口方法的详细说明和业务场景示例:原创 2024-07-17 13:26:10 · 301 阅读 · 0 评论 -
ServerHttpObservationFilter 监控服务性能应用案例
`ServerHttpObservationFilter` 是一个继承自 `OncePerRequestFilter` 的Spring框架过滤器类。这个过滤器的目的是用于观察和记录HTTP请求和响应的相关数据,通常用于监控、日志记录、性能评估等场景。它使用 `ObservationRegistry` 来注册和存储观察结果,并可以自定义观察约定(`ServerRequestObservationConvention`)。原创 2024-07-16 11:21:40 · 281 阅读 · 0 评论 -
CompositeFilter CSRF保护业务场景说明
`CompositeFilter` 过滤器,用于将多个过滤器组合成一个单独的过滤器。在 Spring Security 的过滤器链中,它允许你将多个安全相关的过滤器逻辑组合起来,以简化配置和提高效率。原创 2024-07-16 10:32:40 · 429 阅读 · 0 评论 -
DelegatingFilterProxy 委派机制应用案例说明
`DelegatingFilterProxy`过滤器用于将请求委派给 Spring 应用程序上下文中的一个或多个其他过滤器 Bean 进行处理。这种委派机制允许开发者利用 Servlet 过滤器的丰富生态系统,同时保持 Spring 的依赖注入和其他特性。原创 2024-07-16 09:20:41 · 212 阅读 · 0 评论 -
CommonsRequestLoggingFilter 启用请求日志记录应用案例说明
`CommonsRequestLoggingFilter` 过滤器用于记录HTTP请求的详细信息,通常用于日志记录和问题诊断。这个过滤器是Apache Commons Logging库的一部分,Spring在内部使用它来实现请求日志记录的功能。原创 2024-07-15 23:09:46 · 301 阅读 · 0 评论 -
ServerHttpObservationFilter 服务性能监控应用案例说明
`ServerHttpObservationFilter` 是一个继承自 `OncePerRequestFilter` 的Spring框架过滤器类。这个过滤器的目的是用于观察和记录HTTP请求和响应的相关数据,通常用于监控、日志记录、性能评估等场景。它使用 `ObservationRegistry` 来注册和存储观察结果,并可以自定义观察约定(`ServerRequestObservationConvention`)。原创 2024-07-15 23:07:26 · 336 阅读 · 0 评论 -
CorsFilter 跨域请求安全限制应用案例分析
`CorsFilter` 用于处理跨源资源共享(CORS)的过滤器。它允许配置CORS策略,使得服务器能够响应来自不同源的请求。原创 2024-07-15 23:05:19 · 611 阅读 · 0 评论 -
RelativeRedirectFilter 登录后重定向应用案例
`RelativeRedirectFilter` 用于处理相对路径重定向的过滤器,它特别适用于将重定向路径转换为相对于原始请求的完整URL的场景。以下是`RelativeRedirectFilter`的业务场景和关键处理代码。原创 2024-07-15 23:03:42 · 282 阅读 · 0 评论 -
RequestContextFilter 本地化信息应用案例说明
`RequestContextFilter` 过滤器用于为每个HTTP请求设置`RequestContext`。这个`RequestContext`是Spring提供的一个用于保存请求相关数据的上下文,比如主题(theme)、本地化信息(locale)、错误信息等。`RequestContextFilter`通常用于确保这些数据在整个请求处理过程中保持一致,并且可以在不同的Spring MVC控制器之间共享。原创 2024-07-15 23:02:12 · 282 阅读 · 0 评论 -
FormContentFilter 表单数据应用案例说明
`FormContentFilter` 是Spring框架中用于处理表单提交内容的过滤器,特别是当表单数据以`application/x-www-form-urlencoded`方式提交时。这个过滤器可以确保请求体中的表单数据被正确地读取和解析,然后将其转换为`ServletRequest`的参数。原创 2024-07-15 22:59:51 · 207 阅读 · 0 评论 -
CharacterEncodingFilter 统一的字符编码应用案例说明
`CharacterEncodingFilter` 是Spring框架中的一个实用过滤器,用于统一设置请求和响应的字符编码。这确保了在整个请求处理过程中,数据能够以正确的编码进行传输和处理,从而避免了字符编码问题导致的乱码现象。原创 2024-07-15 22:55:18 · 144 阅读 · 0 评论 -
HiddenHttpMethodFilter 应用案例说明
`HiddenHttpMethodFilter` 是Spring框架中的一个过滤器,用于处理HTTP请求中的特殊查询参数(如 `_method`),以允许通过GET或POST请求模拟其他HTTP方法,如PUT或DELETE。这种技术通常用于不支持PUT或DELETE方法的HTML表单。原创 2024-07-15 22:52:18 · 327 阅读 · 0 评论 -
服务定位器模式(Service Locator Pattern): 微服务配置管理实战案例分析
在微服务架构中,配置管理是一个关键需求。服务定位器模式提供了一种在运行时检索服务对象的方法,适用于管理微服务中的配置信息。原创 2024-07-14 11:40:02 · 777 阅读 · 0 评论 -
合成复用原则:桌面系统与电商系统中构建灵活的软件设计方案
合成复用原则(Composite Reuse Principle, CRP),也被称作组合/聚合复用原则,它建议优先使用对象组合,而不是通过继承来复用代码。这个原则强调通过将对象组合成树形结构来实现代码复用,从而提供更大的灵活性。原创 2024-07-12 14:23:32 · 1196 阅读 · 0 评论 -
迪米特法则:电子商务库存管理应用案例,并不属于过度设计
迪米特法则(Law of Demeter, LoD)是一种软件设计原则,它要求一个对象应该对其他对象有最少的了解,只与直接的朋友(即直接的依赖关系)交互。当系统中的对象之间存在复杂的交互关系,或者一个对象需要了解太多其他对象的内部细节时。原创 2024-07-12 12:28:59 · 1172 阅读 · 0 评论 -
使用Java Socket实现GPS定位数据处理
在许多应用场景中,如车辆追踪、移动设备定位等,GPS定位数据的实时获取和处理至关重要。本文将介绍如何使用Java Socket编程来接收GPS设备发送的数据并进行处理。原创 2024-07-11 18:20:46 · 787 阅读 · 0 评论 -
Spring Boot中 监听和处理事件(积分操作)
Spring Boot提供了一套强大的事件发布和监听机制,允许不同部分的应用程序相互通信。本文将在Spring Boot应用程序中使用事件监听和处理,通过一个用户活动跟踪系统的案例,展示事件驱动架构在现代应用程序中的应用。原创 2024-07-11 17:42:11 · 330 阅读 · 0 评论 -
写代码总被Dis:5个项目案例带你掌握SOLID技巧,代码有架构风格
* 单一职责原则是基础,确保每个类只关注一件事情。* 开闭原则建立在单一职责原则之上,强调通过扩展而不是修改现有代码来添加新功能。* 里氏替换原则确保继承体系的健全性,让派生类可以安全地替换基类。* 接口隔离原则避免让客户端依赖于它们不需要的接口,提高了接口的可用性。* 依赖倒置原则将高层策略性业务规则与低层细节解耦,使系统更加灵活。文本通过ERP案例、支付系统集成案例、订单案例、折扣案例、汽车租赁项目案例代码片段来讲解SOLID设计原则如何落地到业务项目来提高项目整体的质量原创 2024-07-10 23:25:31 · 888 阅读 · 0 评论 -
依赖倒置原则:支付网关设计应用案例
依赖倒置原则解决了在支付网关设计中,业务逻辑层与具体支付实现之间的紧密耦合问题。依赖倒置原则(Dependency Inversion Principle, DIP)是SOLID原则的一部分,它提倡在设计时依赖于抽象(接口或抽象类),而不是具体的实现。这有助于降低模块间的耦合度,提高系统的可扩展性和可维护性。原创 2024-07-10 18:44:18 · 966 阅读 · 0 评论 -
接口隔离原则:精简接口,专注职责,多环境配置管理案例
接口隔离原则解决了因为接口设计过于庞大而导致的低内聚和高耦合问题,使得使用接口的类实现了许多它们不需要的方法。原创 2024-07-10 18:03:28 · 771 阅读 · 0 评论 -
里氏替换原则在金融交易系统中的实践,再不懂你咬我
里氏替换原则解决了继承关系中的脆弱性问题,确保子类能够安全地替换基类,避免因继承带来的风险和错误。例如:在金融交易系统中,需要处理不同类型的交易,每种交易都有其特定的执行和撤销逻辑。LSP确保这些不同的交易类型可以安全地使用基类接口进行操作。原创 2024-07-10 14:14:45 · 877 阅读 · 0 评论 -
开闭原则:软件设计的弹性与稳健性,项目代码讲解
开闭原则(Open-Closed Principle, OCP)是SOLID设计原则中的第二原则。由Bertrand Meyer在1988年提出,并由Robert C. Martin进一步推广。开闭原则指出,软件实体应对扩展开放,对修改关闭。这意味着设计时应该允许轻松添加新功能,而不需要修改现有代码。原创 2024-07-10 14:00:42 · 579 阅读 · 0 评论 -
精雕细琢:单一职责原则在电商架构中的运用 ,代码讲解
软件开发中单一职责原则(SRP)是SOLID五大设计原则中的第一个,由Robert C. Martin在21世纪初提出。它主张一个类应该仅有一个职责,并且该职责应该被完全封装在类中。这一原则的目的是减少类间的耦合,增加代码的可维护性和可扩展性。原创 2024-07-09 23:04:31 · 905 阅读 · 0 评论 -
数据访问对象模式(Data Access Object Pattern):电商平台商品管理实战案例分析
在电商平台中,商品信息的存储和检索是核心业务之一。数据访问对象模式(DAO)提供了一个抽象层,用于访问和操作数据,而不暴露数据源的具体细节。DAO模式将数据访问逻辑与业务逻辑分离,使得数据访问代码易于维护和扩展,同时简化了单元测试。原创 2024-07-09 16:13:53 · 730 阅读 · 0 评论 -
Holder模式(Holder Pattern):公司员工权限管理系统实战案例分析
Holder模式允许我们将所有员工的权限信息集中存储和管理,确保权限数据的一致性和安全性,同时简化权限的维护和更新。在一个大型公司中,员工根据其职位和部门被赋予不同的权限。这些权限可能包括访问敏感数据、审批财务报告、提交报销等。随着公司规模的增长和组织结构的复杂化,管理员工权限变得越来越重要。原创 2024-07-09 12:49:56 · 888 阅读 · 0 评论 -
资源库模式(Repository Pattern):电商平台商品数据管理实战案例分析
在电商平台中,商品数据的增删改查(CRUD)操作非常频繁。资源库模式提供了一种抽象层,用于访问数据源,如数据库,而不需要暴露数据访问的复杂性。资源库模式将数据访问逻辑封装起来,使得业务逻辑层与数据访问层解耦,提高了代码的可维护性和可测试性。原创 2024-07-08 13:05:51 · 830 阅读 · 0 评论 -
解释器模式(Interpreter Pattern):电商平台优惠规则解析实战案例分析
解释器模式允许定义一个语言的文法,并建立一个解释器,该解释器可以解释和执行语言中的句子,非常适合用于解析和执行优惠规则。在电商平台中,优惠规则多种多样,例如满减、打折、买赠等。为了能够灵活地解析和应用这些优惠规则,需要一个能够解释和执行优惠规则的系统。原创 2024-07-07 21:38:32 · 878 阅读 · 0 评论 -
工厂方法模式(Factory Method Pattern): 电商多种支付实战案例分析
使用工厂方法模式可以将对象的创建逻辑封装在具体的工厂类中,这样当需要添加新的支付方式时,我们只需新增一个具体的支付类和相应的工厂类,而无需修改现有的代码。电商平台支持多种支付方式,包括信用卡、PayPal、微信支付等。每种支付方式的实现细节不同,但它们共享相同的接口。我们希望系统能够在运行时根据用户的选择动态创建相应的支付对象。原创 2024-07-07 21:34:08 · 517 阅读 · 0 评论 -
抽象工厂模式(Abstract Factory Pattern):多风格桌面应用实战案例分析
开发一个支持多种主题风格的桌面应用程序,例如浅色主题和深色主题。每种主题风格都有其特定的按钮(Button)、窗口(Window)和滑块(Slider)等界面组件。我们希望应用程序能够根据用户选择的主题动态加载相应的界面组件。抽象工厂模式允许我们创建一系列相关或依赖的对象族,而不需要指定它们具体的类。这样,当添加新的主题风格时,我们只需增加新的具体工厂和组件类,无需修改现有代码。原创 2024-07-07 20:59:49 · 883 阅读 · 0 评论 -
建造者模式(Builder Pattern): 在线订单系统实战案例分析
建造者模式允许用户通过一系列步骤来定制订单,同时保持代码的清晰和组织性。这使得添加新的订单项或定制选项变得更加容易。在构建一个在线订餐平台时,我们需要处理各种不同的订单项,包括不同类型的菜品、饮料以及可能的特别要求。订单构建过程需要灵活地适应不同的定制选项。原创 2024-07-07 20:59:31 · 807 阅读 · 0 评论 -
原型模式(Prototype Pattern): 云服务环境配置实战案例分析
在云计算环境中,用户经常需要复制现有的服务器环境,包括预装的软件、配置和网络设置。例如,在开发、测试和生产环境中复制相同的应用服务器配置。原型模式允许用户通过复制现有的服务器环境来快速创建新的实例,这样可以节省设置新环境的时间,同时保证环境的一致性。原创 2024-07-07 20:35:01 · 801 阅读 · 0 评论 -
适配器模式(Adapter Pattern):第三方支付集成实战案例分析
电商平台需要集成多种第三方支付服务(如支付宝、微信支付、PayPal等),这些支付服务的API接口和交互方式各不相同。为了使系统能够无缝集成这些支付服务,同时保持代码的整洁和可维护性,适配器模式提供了一种有效的解决方案。适配器模式允许我们将第三方支付服务的特定接口转换为系统需要的通用接口,从而使得代码对第三方服务的依赖降到最低,提高了系统的可扩展性和可维护性。原创 2024-07-07 20:34:43 · 789 阅读 · 0 评论 -
装饰器模式(Decorator Pattern):电商平台商品价格策略实战案例分析
在电商平台中,商品价格可能会受到各种因素的影响,如会员折扣、优惠券、限时促销等。这些价格策略需要动态地应用到商品上,同时保持价格计算的灵活性和可扩展性。装饰器模式允许我们动态地给商品添加多种价格策略,而不需要修改商品本身的代码。这样可以在运行时根据需要透明地添加或修改价格策略。原创 2024-07-07 16:10:34 · 784 阅读 · 0 评论 -
单例模式(Singleton Pattern):购物车实战案例分析
开发一个在线商城系统,需要一个全局的购物车管理器,该管理器负责处理用户的购物车数据。由于购物车数据需要在用户整个会话期间保持一致性,并且只应该存在一个购物车实例,单例模式成为理想的选择。单例模式确保了全局只有一个购物车实例,避免了多个实例间的数据冲突,同时提供了一个全局访问点,方便在应用的任何地方获取和管理购物车数据。原创 2024-07-07 13:14:13 · 967 阅读 · 0 评论 -
中介者模式(Mediator Pattern):即时通讯软件实战案例分析
中介者模式通过引入一个中介者对象来简化对象之间的交互,降低了系统的耦合度,提高了系统的可维护性和可扩展性。即时通讯软件中,用户之间的消息传递需要一个集中的管理者来协调,以避免用户之间的直接耦合,简化消息传递逻辑。原创 2024-07-06 23:45:10 · 810 阅读 · 0 评论