首页 文章 精选 留言 我的
优秀的个人博客,低调大师

微信关注我们

原文链接:https://my.oschina.net/u/5735652/blog/5566315

转载内容版权归作者及来源网站所有!

低调大师中文资讯倾力打造互联网数据资讯、行业资源、电子商务、移动互联网、网络营销平台。持续更新报道IT业界、互联网、市场资讯、驱动更新,是最及时权威的产业资讯及硬件资讯报道平台。

SPI:Java的高可扩展利器

摘要:JAVA SPI,基于接口的编程+策略模式+配置文件的动态加载机制。 本文分享自华为云社区《一文讲透Java核心技术之高可扩展利器SPI》,作者: 冰 河。 SPI的概念 JAVA SPI = 基于接口的编程+策略模式+配置文件 的动态加载机制 SPI的使用场景 Java是一种面向对象语言,虽然Java8开始支持函数式编程和Stream,但是总体来说,还是面向对象的语言。在使用Java进行面向对象开发时,一般会推荐使用基于接口的编程,程序的模块与模块之前不会直接进行实现类的硬编码。而在实际的开发过程中,往往一个接口会有多个实现类,各实现类要么实现的逻辑不同,要么使用的方式不同,还有的就是实现的技术不同。为了使调用方在调用接口的时候,明确的知道自己调用的是接口的哪个实现类,或者说为了实现在模块装配的时候不用在程序里动态指明,这就需要一种服务发现机制。Java中的SPI加载机制能够满足这样的需求,它能够自动寻找某个接口的实现类。 大量的框架使用了Java的SPI技术,如下: (1)JDBC加载不同类型的数据库驱动 (2)日志门面接口实现类加载,SLF4J加载不同提供商的日志实现类 (...

Seata-php 入门与下半年展望

通俗地讲,Seata-php 是 seata 的 PHP 语言实现,实现了 Java 和 PHP 之间的互通,让 PHPer 也能使用 seata-php 来实现分布式事务。 Seata是一个非常成熟的分布式事务框架,在 Java 领域是事实上的分布式事务技术标准平台。Seata 目前正在构建其多语言体系【参考文档1】,整个体系包含了目前常用的五大类语言:Java、Go、Python、Js 和 PHP,目前的态势是后四种语言都依据 Seata Java 版本构建起对应语言的实现。 除了追求 Seata 多语言体系过程中因为开源价值要求构建 Seata 的 PHP 版本这个原因外,作为构建起 Web 1.0 时代技术基础 LAMP 架构中的要角,PHP 语言在电商和金融交易场景下依然被广泛使用,而这些场景对数据一致性要求非常强烈,这是构建 Seata-php 最大的诱因,也是其技术价值所在。 1 Seata 架构与多语言体系 图片来自 seata 官网 Seata 总体架构由如下角色构成:<br />事务协调器 Transaction Coordinator<br /&...

相关文章

发表评论

资源下载

更多资源
优质分享App

优质分享App

近一个月的开发和优化,本站点的第一个app全新上线。该app采用极致压缩,本体才4.36MB。系统里面做了大量数据访问、缓存优化。方便用户在手机上查看文章。后续会推出HarmonyOS的适配版本。

Mario

Mario

马里奥是站在游戏界顶峰的超人气多面角色。马里奥靠吃蘑菇成长,特征是大鼻子、头戴帽子、身穿背带裤,还留着胡子。与他的双胞胎兄弟路易基一起,长年担任任天堂的招牌角色。

Nacos

Nacos

Nacos /nɑ:kəʊs/ 是 Dynamic Naming and Configuration Service 的首字母简称,一个易于构建 AI Agent 应用的动态服务发现、配置管理和AI智能体管理平台。Nacos 致力于帮助您发现、配置和管理微服务及AI智能体应用。Nacos 提供了一组简单易用的特性集,帮助您快速实现动态服务发现、服务配置、服务元数据、流量管理。Nacos 帮助您更敏捷和容易地构建、交付和管理微服务平台。

Spring

Spring

Spring框架(Spring Framework)是由Rod Johnson于2002年提出的开源Java企业级应用框架,旨在通过使用JavaBean替代传统EJB实现方式降低企业级编程开发的复杂性。该框架基于简单性、可测试性和松耦合性设计理念,提供核心容器、应用上下文、数据访问集成等模块,支持整合Hibernate、Struts等第三方框架,其适用范围不仅限于服务器端开发,绝大多数Java应用均可从中受益。

用户登录
用户注册