Tagged articles
93 articles
Page 1 of 1
Architect's Guide
Architect's Guide
Mar 6, 2026 · Backend Development

Mastering Java and Spring SPI: From Basics to Advanced Implementation

This article explains Java's built‑in Service Provider Interface (SPI) mechanism, demonstrates how to create and load SPI implementations with ServiceLoader, and then shows how Spring extends SPI using spring.factories with detailed code examples and source‑code analysis.

Backend DevelopmentSPIServiceLoader
0 likes · 8 min read
Mastering Java and Spring SPI: From Basics to Advanced Implementation
Top Architect
Top Architect
Jan 11, 2026 · Backend Development

How to Implement Java SPI with Maven Multi‑Module Projects and Spring Boot

This guide explains Java's Service Provider Interface (SPI) mechanism, compares it with traditional APIs, and walks through building a multi‑module Maven project that defines an SPI, provides a default implementation, creates an external plugin jar, loads it at runtime with a custom class loader, and integrates the service into a Spring Boot application.

SPIclasspathplugin
0 likes · 14 min read
How to Implement Java SPI with Maven Multi‑Module Projects and Spring Boot
Top Architect
Top Architect
Dec 11, 2025 · Backend Development

Mastering Java Plugin Architecture: From SPI to Spring Factories

This article explains how to implement plugin mechanisms in Java using SPI and Spring Boot's spring.factories, covering benefits, common approaches, detailed code examples, custom configuration loading, and a complete real‑world case study to guide developers in building extensible applications.

JavaSPISpring Boot
0 likes · 22 min read
Mastering Java Plugin Architecture: From SPI to Spring Factories
Architect
Architect
Dec 9, 2025 · Backend Development

Master Java SPI: Build a Pluggable Authentication System with Maven Multi‑Module

This guide explains Java's Service Provider Interface (SPI), contrasts it with traditional APIs, and walks through creating a multi‑module Maven project that uses SPI, a custom class loader, and external JAR loading to implement a flexible authentication plugin in a Spring Boot application.

JavaSPISpring Boot
0 likes · 15 min read
Master Java SPI: Build a Pluggable Authentication System with Maven Multi‑Module
JavaGuide
JavaGuide
Nov 27, 2025 · Backend Development

Xiaomi Java Interview Insights: Reflection, Dynamic Proxies, Redis & JWT

The article starts by highlighting Xiaomi's competitive software developer salaries, then provides a detailed Java interview guide covering reflection fundamentals, static vs dynamic proxies, SPI vs API, synchronization behavior, Redis caching strategies, and JWT authentication, complete with code examples and practical comparisons.

Dynamic ProxyJWTJava
0 likes · 25 min read
Xiaomi Java Interview Insights: Reflection, Dynamic Proxies, Redis & JWT
macrozheng
macrozheng
Sep 12, 2025 · Backend Development

Master Java Design Patterns: Strategy, SPI, Chain of Responsibility & Rule Engine

Learn how to replace tangled if‑else logic with four elegant solutions—Strategy pattern, Java SPI, Chain of Responsibility, and a rule engine—complete with concepts, UML diagrams, Java code examples, advantages, drawbacks, and practical usage scenarios for building maintainable, extensible backend systems.

Chain of ResponsibilityJavaSPI
0 likes · 23 min read
Master Java Design Patterns: Strategy, SPI, Chain of Responsibility & Rule Engine
Su San Talks Tech
Su San Talks Tech
Jul 2, 2025 · Backend Development

Unlocking Java Plugin Architecture: From SPI to SpringBoot Extensions

This article explains the concept and benefits of plugin-based development in Java, introduces common implementation approaches such as SPI, custom configuration, and Spring Boot's spring.factories, and provides step‑by‑step code examples and a real‑world case study to help developers build extensible backend systems.

Backend DevelopmentJavaSPI
0 likes · 21 min read
Unlocking Java Plugin Architecture: From SPI to SpringBoot Extensions
Cognitive Technology Team
Cognitive Technology Team
May 30, 2025 · Backend Development

Using Google AutoService to Simplify Java SPI Implementations

This tutorial introduces Google AutoService, explains Java SPI concepts, shows Maven setup and @AutoService annotation examples, and demonstrates loading translation service providers with ServiceLoader, highlighting how the library automates SPI configuration and reduces errors.

AnnotationProcessorAutoServiceJava
0 likes · 6 min read
Using Google AutoService to Simplify Java SPI Implementations
Selected Java Interview Questions
Selected Java Interview Questions
Apr 17, 2025 · Backend Development

Understanding Java SPI and Implementing a Plugin Architecture

This article explains Java's Service Provider Interface (SPI) mechanism, compares SPI with traditional APIs, and provides a step‑by‑step guide—including Maven project setup, interface definition, implementation classes, custom class loader, and Spring Boot integration—to build a dynamic plugin system for backend applications.

JavaSPIbackend-development
0 likes · 16 min read
Understanding Java SPI and Implementing a Plugin Architecture
Architecture Digest
Architecture Digest
Mar 10, 2025 · Backend Development

Implementing a Plugin Architecture in Java and Spring Boot Using SPI and Spring Factories

This article explains how to design and implement a flexible plugin mechanism for Java applications, covering the benefits of decoupling, common implementation strategies such as ServiceLoader (SPI), custom configuration loading, and Spring Boot integration via spring.factories, with complete code examples and a real‑world case study.

JavaSPISpring Boot
0 likes · 19 min read
Implementing a Plugin Architecture in Java and Spring Boot Using SPI and Spring Factories
JD Tech Talk
JD Tech Talk
Mar 7, 2025 · Fundamentals

Understanding Java Service Provider Interface (SPI): Introduction, Example, and Implementation Details

This article introduces Java's Service Provider Interface (SPI), demonstrates a step‑by‑step example with multiple Maven modules, explains how to create interface and implementation classes, configure META‑INF/services files, and delves into the ServiceLoader internals that enable runtime discovery and instantiation of providers.

Design PatternsJavaSPI
0 likes · 9 min read
Understanding Java Service Provider Interface (SPI): Introduction, Example, and Implementation Details
JD Cloud Developers
JD Cloud Developers
Mar 7, 2025 · Fundamentals

Master Java SPI: Build Decoupled Services with Service Provider Interface

This guide explains Java's Service Provider Interface (SPI), detailing its purpose for decoupling implementations, step-by-step project setup, code examples, configuration files, and an in-depth analysis of ServiceLoader's internal mechanisms, enabling developers to create flexible, extensible Java applications.

DependencyInjectionJavaModularDesign
0 likes · 12 min read
Master Java SPI: Build Decoupled Services with Service Provider Interface
Deepin Linux
Deepin Linux
Mar 5, 2025 · Fundamentals

Embedded Systems Interview Guide: Linux Thread Scheduling, STM32 Configurations, SPI, DMA, Synchronization, and Debugging

This article provides a comprehensive interview guide for embedded systems positions, covering Linux thread scheduling, single‑core CPU execution, STM32 chip specifications, SPI communication, DMA concepts, synchronization primitives, priority inversion solutions, debugging techniques, and software design considerations.

DMALinux schedulingSPI
0 likes · 21 min read
Embedded Systems Interview Guide: Linux Thread Scheduling, STM32 Configurations, SPI, DMA, Synchronization, and Debugging
Top Architect
Top Architect
Jan 22, 2025 · Backend Development

Understanding Plugin Mechanisms in Java and Spring Boot

This article explains the concept of plugin mechanisms in Java and Spring Boot, covering benefits, common implementation approaches such as ServiceLoader and custom configuration, detailed code examples, and practical guidance for building extensible backend systems.

Backend DevelopmentJavaSPI
0 likes · 22 min read
Understanding Plugin Mechanisms in Java and Spring Boot
Architect
Architect
Jan 6, 2025 · Backend Development

Unlocking Java Plugin Architecture: From SPI to Spring Factories

This article explains why plugin mechanisms improve modularity, extensibility, and third‑party integration, then walks through practical Java SPI implementations, custom configuration loading, and Spring Boot’s spring.factories approach, providing complete code examples and step‑by‑step guidance for building a robust plugin system.

JavaSPISpring Boot
0 likes · 21 min read
Unlocking Java Plugin Architecture: From SPI to Spring Factories
Top Architect
Top Architect
Dec 31, 2024 · Backend Development

Java Plugin Architecture and Spring Boot Implementation Guide

This article explains various plugin implementation approaches in Java, including SPI, ServiceLoader, custom configuration, and Spring Boot's spring.factories, providing detailed code examples and step‑by‑step guidance for building extensible backend systems that can be dynamically loaded and configured at runtime.

JavaSPISpringBoot
0 likes · 22 min read
Java Plugin Architecture and Spring Boot Implementation Guide
Top Architect
Top Architect
Dec 17, 2024 · Backend Development

Understanding Plugin Mechanisms in Java and Spring Boot

This article explains Java and Spring Boot plugin mechanisms, covering benefits, common implementation strategies such as ServiceLoader, custom configuration files, and Spring Factories, and provides practical code examples and a real‑world case study to illustrate extensible architecture design.

JavaSPIServiceLoader
0 likes · 21 min read
Understanding Plugin Mechanisms in Java and Spring Boot
Top Architect
Top Architect
Dec 6, 2024 · Backend Development

Java Plugin Architecture: SPI, ServiceLoader, and Spring Boot Integration

This article explains how to implement plugin mechanisms in Java using SPI and ServiceLoader, demonstrates custom configuration approaches, and shows how Spring Boot’s spring.factories can be leveraged for extensible services, providing practical code examples and step‑by‑step guidance for building modular backend applications.

JavaSPISpringBoot
0 likes · 23 min read
Java Plugin Architecture: SPI, ServiceLoader, and Spring Boot Integration
dbaplus Community
dbaplus Community
Oct 31, 2024 · Fundamentals

When to Choose SPI vs API? A Deep Dive into Interface Placement

This article explores the concepts of Service Provider Interface (SPI) and Application Programming Interface (API), examines three possible package locations for interfaces, compares their rules, advantages, and trade‑offs, and provides guidance on selecting the appropriate approach for modular and extensible software design.

APIInterface DesignSPI
0 likes · 8 min read
When to Choose SPI vs API? A Deep Dive into Interface Placement
Top Architect
Top Architect
Sep 12, 2024 · Fundamentals

Understanding SPI vs API: Interface Placement and Design Principles

The article explains the distinction between Service Provider Interfaces (SPI) and Application Programming Interfaces (API), discusses three possible package placements for interfaces, outlines rules and advantages of each, and provides guidance on choosing between SPI and API based on extensibility, interaction, and stability.

APIBackendInterface Design
0 likes · 9 min read
Understanding SPI vs API: Interface Placement and Design Principles
Architect
Architect
Sep 10, 2024 · Fundamentals

Understanding SPI vs API: When to Use Service Provider Interfaces versus Application Programming Interfaces

This article explains the distinction between Service Provider Interfaces (SPI) and Application Programming Interfaces (API), examines where interfaces can be placed in a codebase, outlines their respective rules, compares their trade‑offs, and offers guidance on choosing the appropriate approach in software architecture.

APIDDDInterface Design
0 likes · 6 min read
Understanding SPI vs API: When to Use Service Provider Interfaces versus Application Programming Interfaces
Sohu Tech Products
Sohu Tech Products
Sep 5, 2024 · Backend Development

Understanding Dubbo's Microkernel Architecture

Dubbo’s microkernel architecture isolates only essential core functions—service invocation, clustering, and routing—while delegating all other capabilities to dynamically loaded extensions via its advanced SPI mechanism, which scans META‑INF files, supports precise lookups, dependency injection, bytecode generation, and hierarchical extension points, enabling flexible, modular, and fault‑tolerant RPC services.

Design PatternsDubboRPC Framework
0 likes · 13 min read
Understanding Dubbo's Microkernel Architecture
Java Tech Enthusiast
Java Tech Enthusiast
Aug 5, 2024 · Backend Development

Implementing SPI-like Extensions in Spring Boot

Spring Boot can emulate SPI plug‑in extensions by using native Java ServiceLoader, conditional bean registration with @ConditionalOnClass/@ConditionalOnProperty, custom FactoryBean implementations, or programmatic BeanDefinitionRegistryPostProcessor registration, each enabling dynamic service loading based on configuration or runtime conditions.

FactoryBeanJavaSPI
0 likes · 7 min read
Implementing SPI-like Extensions in Spring Boot
Code Ape Tech Column
Code Ape Tech Column
Jul 24, 2024 · Backend Development

Understanding and Implementing Java SPI and Spring SPI

This article explains Java's built‑in Service Provider Interface (SPI) mechanism, demonstrates how to create interfaces, implementations, and configuration files, shows testing with ServiceLoader, and compares it to Spring's SPI implementation using spring.factories, including code examples and analysis of their advantages and limitations.

BackendFrameworkJava
0 likes · 7 min read
Understanding and Implementing Java SPI and Spring SPI
Top Architect
Top Architect
Jul 16, 2024 · Backend Development

Plugin Architecture in Java: SPI, ServiceLoader, and Spring Boot Implementations

This article explains the concept of plugin‑based development, outlines its benefits such as modular decoupling and extensibility, and provides detailed Java implementations using ServiceLoader, custom configuration loading, and Spring Boot’s spring.factories mechanism with complete code examples and practical deployment steps.

Backend DevelopmentJavaSPI
0 likes · 23 min read
Plugin Architecture in Java: SPI, ServiceLoader, and Spring Boot Implementations
Spring Full-Stack Practical Cases
Spring Full-Stack Practical Cases
Jul 10, 2024 · Backend Development

Master Spring’s FactoryBean: From Basics to Advanced Use Cases

This article explains Spring's FactoryBean interface, detailing its three core methods, and provides step‑by‑step examples—including a simple bean, prototype scope, proxy creation, accessing the original FactoryBean, and using ServiceFactoryBean for SPI—illustrating how to customize bean instantiation in Spring 6.

FactoryBeanSPIdependency-injection
0 likes · 7 min read
Master Spring’s FactoryBean: From Basics to Advanced Use Cases
Sohu Tech Products
Sohu Tech Products
May 21, 2024 · Backend Development

Debugging java.net.spi.InetAddressResolverProvider SPI Failure with OpenTelemetry Java Agent in Spring Boot

The article explains how a custom java.net.spi.InetAddressResolverProvider SPI that works in a regular Spring Boot 3.x JAR fails when the OpenTelemetry Java agent is added because the agent’s JarLoader cannot read the SPI configuration inside the BOOT‑INF layout, and resolves the issue by disabling the agent’s own resolver resource so the custom provider is used.

DebuggingJDK21Java
0 likes · 11 min read
Debugging java.net.spi.InetAddressResolverProvider SPI Failure with OpenTelemetry Java Agent in Spring Boot
Alibaba Cloud Developer
Alibaba Cloud Developer
Apr 12, 2024 · Backend Development

How to Build a Scalable B2B Payment System with SPI and Composition

This article explains how to redesign a legacy B2B payment system by identifying workflow differences, modeling the domain, adding a secondary abstraction layer, and implementing an SPI‑based extension framework to achieve high extensibility and maintainability while ensuring security and data isolation.

B2BBackendSPI
0 likes · 11 min read
How to Build a Scalable B2B Payment System with SPI and Composition
Code Ape Tech Column
Code Ape Tech Column
Apr 10, 2024 · Backend Development

Understanding and Comparing Java, Spring, and Dubbo SPI Mechanisms

This article explains the concept of Service Provider Interface (SPI), demonstrates how Java's ServiceLoader, Spring's SpringFactoriesLoader, and Dubbo's ExtensionLoader implement SPI, compares their configurations and capabilities, and discusses advanced features such as adaptive extensions, IOC/AOP integration, wrappers, and auto‑activation.

Backend DevelopmentDubboExtensionLoader
0 likes · 15 min read
Understanding and Comparing Java, Spring, and Dubbo SPI Mechanisms
dbaplus Community
dbaplus Community
Apr 9, 2024 · Backend Development

Building a Scalable Order‑to‑Elasticsearch Sync Service (ECP)

This article explains the challenges of synchronizing billions of order records to Elasticsearch, outlines the design of the ECP service that automates heterogeneous data integration, and details its implementation including multi‑source reading, SQL parsing, dynamic rate limiting, retry mechanisms, SPI‑based extensibility, environment isolation, health‑check, smooth migration, and logging.

ElasticsearchJavaSPI
0 likes · 19 min read
Building a Scalable Order‑to‑Elasticsearch Sync Service (ECP)
Zhuanzhuan Tech
Zhuanzhuan Tech
Apr 3, 2024 · Backend Development

Design and Implementation of an Elasticsearch Data Synchronization Service (ECP) for Large‑Scale Order Data

This article describes the challenges and technical solutions for synchronizing billions of order records from a relational database to Elasticsearch, including multi‑source data reading, dynamic rate limiting, retry strategies, SPI‑based service integration, environment isolation, health‑checking, smooth migration, and structured logging, all implemented in a backend service called ECP.

JavaSPIbackend service
0 likes · 21 min read
Design and Implementation of an Elasticsearch Data Synchronization Service (ECP) for Large‑Scale Order Data
Architect's Guide
Architect's Guide
Sep 11, 2023 · Backend Development

Java Plugin Development: SPI, ServiceLoader, Custom Configurations, and Spring Boot Factories

This article explains the concept and benefits of plugin-based development, outlines common Java implementation approaches such as SPI, configuration‑driven reflection, runtime JAR loading, and Spring Boot's spring.factories, and provides detailed code examples and a complete case study demonstrating flexible, hot‑pluggable SMS services.

Backend DevelopmentJavaSPI
0 likes · 19 min read
Java Plugin Development: SPI, ServiceLoader, Custom Configurations, and Spring Boot Factories
Sohu Tech Products
Sohu Tech Products
Jul 19, 2023 · Backend Development

Plugin Architecture in Java: SPI, ServiceLoader, and Spring Boot Implementations

This article explains the benefits and common practices of plugin‑based development in Java, covering module decoupling, extensibility, third‑party integration, and detailed implementations using Java SPI, custom configuration loading, and Spring Boot's spring.factories mechanism with practical code examples.

SPIServiceLoaderSpringBoot
0 likes · 18 min read
Plugin Architecture in Java: SPI, ServiceLoader, and Spring Boot Implementations
Top Architect
Top Architect
Jun 18, 2023 · Backend Development

Java Plugin Development: SPI, ServiceLoader, and Spring Boot Integration

This article explains the concept of plugin‑based development, outlines its benefits such as decoupling and extensibility, and provides step‑by‑step Java implementations using ServiceLoader, custom configuration files, and Spring Boot's spring.factories mechanism, complete with runnable code examples.

JavaSPIServiceLoader
0 likes · 21 min read
Java Plugin Development: SPI, ServiceLoader, and Spring Boot Integration
Java Architect Essentials
Java Architect Essentials
Jun 15, 2023 · Backend Development

Mastering Java Plugin Architecture: From SPI to Spring Factories

This article explains why and how to use plugin mechanisms in Java, covering the benefits of modular decoupling, common implementation patterns such as ServiceLoader, custom configuration loading, and Spring Boot's spring.factories, and provides step‑by‑step code examples and practical case studies.

JavaSPISpring Boot
0 likes · 22 min read
Mastering Java Plugin Architecture: From SPI to Spring Factories
Programmer DD
Programmer DD
Jun 15, 2023 · Backend Development

Mastering Java Plugin Architecture: From SPI to Spring Factories

This article explains the concept and advantages of plugin-based development, outlines common implementation strategies in Java, demonstrates practical SPI and custom configuration approaches, and shows how Spring Boot’s spring.factories mechanism can be used to build extensible backend systems.

Backend DevelopmentJavaSPI
0 likes · 23 min read
Mastering Java Plugin Architecture: From SPI to Spring Factories
Java Architecture Diary
Java Architecture Diary
May 29, 2023 · Databases

How to Add a Shentong Database Plugin to Nacos 2.2+

This guide explains how to create and configure a custom Shentong datasource plugin for Nacos 2.2+, covering dependency addition, script conversion, connection settings, and platform specification to enable Shentong as a supported database.

Datasource PluginNacosSPI
0 likes · 4 min read
How to Add a Shentong Database Plugin to Nacos 2.2+
macrozheng
macrozheng
Mar 15, 2023 · Backend Development

Master Java SPI: From Service Provider Interface to Spring Boot Auto‑Configuration

This article explains Java’s Service Provider Interface (SPI) mechanism, compares it with traditional APIs, demonstrates how to define interfaces, implement services, and discover them using ServiceLoader, and shows real‑world applications such as Spring Boot auto‑configuration and logging frameworks like SLF4J.

JavaSPIServiceLoader
0 likes · 13 min read
Master Java SPI: From Service Provider Interface to Spring Boot Auto‑Configuration
Selected Java Interview Questions
Selected Java Interview Questions
Mar 13, 2023 · Backend Development

Understanding Java SPI and Spring SPI Mechanisms

This article explains the Java Service Provider Interface (SPI) concept, demonstrates how to implement and test SPI with ServiceLoader, compares its limitations, and shows how Spring extends SPI using spring.factories for more flexible and efficient service loading.

Backend DevelopmentJavaSPI
0 likes · 6 min read
Understanding Java SPI and Spring SPI Mechanisms
Sanyou's Java Diary
Sanyou's Java Diary
Feb 23, 2023 · Backend Development

Unlocking Java’s SPI: How Service Provider Interface Powers Spring Boot Auto‑Configuration

This article explains Java's Service Provider Interface (SPI) mechanism, demonstrates how to define, implement, and discover services with code examples—including a smart‑home air‑conditioner scenario—and shows its practical use in Spring Boot auto‑configuration and logging frameworks like SLF4J.

SPIServiceLoaderSpring Boot
0 likes · 14 min read
Unlocking Java’s SPI: How Service Provider Interface Powers Spring Boot Auto‑Configuration
DataFunTalk
DataFunTalk
Jan 31, 2023 · Big Data

SPI Refactoring Practice in Apache InLong Manager to Reduce Maintenance Cost and Enhance Extensibility

This article presents the SPI-based refactoring of Apache InLong Manager, describing the project's background, existing maintenance challenges, the concept of Java Service Provider Interface, the concrete implementation steps, code restructuring, and the resulting benefits such as higher code reuse, easier extension, and reduced DDL changes.

Apache InLongBig DataCode Refactoring
0 likes · 10 min read
SPI Refactoring Practice in Apache InLong Manager to Reduce Maintenance Cost and Enhance Extensibility
Java Architecture Diary
Java Architecture Diary
Dec 19, 2022 · Backend Development

How to Add a Custom PostgreSQL Plugin to Nacos 2.2+ via SPI

Starting with Nacos 2.2.0, you can inject multiple data source plugins via the SPI mechanism; this guide walks through adding a PostgreSQL plugin, importing the required Maven dependencies, loading the database script, configuring connection details, and setting the datasource platform in application.properties.

DataSourceNacosPostgreSQL
0 likes · 3 min read
How to Add a Custom PostgreSQL Plugin to Nacos 2.2+ via SPI
Liangxu Linux
Liangxu Linux
Nov 8, 2022 · Fundamentals

Essential Linux Commands, File Types, and Embedded System Basics Explained

This guide covers core Linux commands, supported file types, inter‑process communication methods, ARM exception categories, interrupt handling steps, GPIO concepts, I2C and SPI pin functions, as well as driver inspection commands, character device creation, synchronization primitives, and key kernel subsystems.

ARMDevice DriversI2C
0 likes · 10 min read
Essential Linux Commands, File Types, and Embedded System Basics Explained
vivo Internet Technology
vivo Internet Technology
Nov 2, 2022 · Backend Development

Understanding Java SPI: Principles, Implementation, and Applications

Java SPI is a lightweight plug‑in mechanism that decouples service contracts from implementations using a META‑INF/services configuration file and the ServiceLoader class, enabling dynamic loading of providers as demonstrated with simple examples and applied in frameworks such as JDBC, Spring Boot, Apache Commons Logging, and Dubbo.

DubboJDBCJava
0 likes · 33 min read
Understanding Java SPI: Principles, Implementation, and Applications
Tencent Cloud Developer
Tencent Cloud Developer
Sep 13, 2022 · Databases

Implementing a Transparent Data Encryption Framework for Database Security

The article presents a transparent data‑encryption framework for database security that uses an AOP‑based driver interceptor to rewrite SQL, encrypt/decrypt sensitive fields, manage performance with locks and caching, support configurable algorithms via SPI/YAML, and guide a three‑phase migration with minimal code intrusion.

Data MigrationDatabase SecurityPerformance Optimization
0 likes · 11 min read
Implementing a Transparent Data Encryption Framework for Database Security
Java Backend Technology
Java Backend Technology
Aug 29, 2022 · Backend Development

Master Java SPI: From JDK to Dubbo & Spring – Extend Your Apps Easily

This article explains the concept and usage of Service Provider Interface (SPI) in Java, demonstrating how JDK’s ServiceLoader, Dubbo’s enhanced SPI, and Spring’s SPI mechanisms enable flexible extension of logging frameworks and other components, while comparing their features, configuration files, and limitations.

DubboJavaSPI
0 likes · 14 min read
Master Java SPI: From JDK to Dubbo & Spring – Extend Your Apps Easily
JD Tech
JD Tech
Jul 27, 2022 · Backend Development

Understanding Java ClassLoader, Custom ClassLoader, Hot Swapping, SPI, and Java Agent for Plugin Development

This article explains the Java parent‑delegation model, shows how to implement a custom ClassLoader for class hot‑swap and jar hot‑deployment, demonstrates Java SPI for dynamic service loading, and details building a plugin framework using Java Agent and Javassist for runtime bytecode enhancement.

HotSwapJavaAgentJavassist
0 likes · 30 min read
Understanding Java ClassLoader, Custom ClassLoader, Hot Swapping, SPI, and Java Agent for Plugin Development
JD Retail Technology
JD Retail Technology
Jun 14, 2022 · Backend Development

Understanding Java ClassLoader, Custom ClassLoaders, Hot Swapping, SPI, and Java Agent Plugin Framework

This article explains the Java parent‑delegation model, shows how to implement custom ClassLoaders for class hot‑swap and jar hot‑deployment, demonstrates SPI‑based class replacement, introduces Java Agent premain/agentmain mechanisms, and presents a plugin framework that combines SPI, Java Agent, and Javassist for dynamic enhancement.

HotSwapJavaJavaAgent
0 likes · 27 min read
Understanding Java ClassLoader, Custom ClassLoaders, Hot Swapping, SPI, and Java Agent Plugin Framework
Cognitive Technology Team
Cognitive Technology Team
May 7, 2022 · Fundamentals

Understanding Java Context ClassLoader and How It Breaks the Parent Delegation Model

This article explains why Java introduced the Context ClassLoader to bypass the parent‑delegation model, demonstrates its role in SPI mechanisms such as JDBC driver loading, compares class loader behavior in Spring Boot development versus packaged execution, and highlights common pitfalls when using custom class loaders.

ContextClassLoaderJavaSPI
0 likes · 8 min read
Understanding Java Context ClassLoader and How It Breaks the Parent Delegation Model
Code Ape Tech Column
Code Ape Tech Column
May 6, 2022 · Backend Development

Understanding Java Service Provider Interface (SPI) and Its Applications

This article explains Java's Service Provider Interface (SPI) mechanism, its purpose, advantages, limitations, differences from APIs, and provides detailed code examples and real-world use cases such as JDBC, ShardingSphere, Spring, and SLF4J to illustrate how SPI enables pluggable, decoupled backend development.

BackendDesign PatternsJava
0 likes · 9 min read
Understanding Java Service Provider Interface (SPI) and Its Applications
IT Architects Alliance
IT Architects Alliance
Mar 2, 2022 · Backend Development

Advanced Dubbo Architecture and Service Invocation Process

This article provides an in‑depth overview of Dubbo’s architecture, detailing the roles of consumer, provider, registry and monitor, the service call workflow, thread dispatching, and the SPI mechanism including @SPI, @Adaptive, and @Activate annotations, with illustrative diagrams and code examples.

JavaSPI
0 likes · 12 min read
Advanced Dubbo Architecture and Service Invocation Process
Alibaba Cloud Native
Alibaba Cloud Native
Jan 23, 2022 · Cloud Native

Why Choose RocketMQ? Synchronous Writes, Multi‑Topic Speed, and SPI Extensibility

This article explains the reasons for selecting Apache RocketMQ—its synchronous double‑write safety, strong performance under massive multi‑topic loads, rich features like transactional and delayed messages, active community support, and demonstrates how to leverage Java’s SPI mechanism to build a configurable, dynamically adjustable client architecture.

BackendCloud NativeJava
0 likes · 13 min read
Why Choose RocketMQ? Synchronous Writes, Multi‑Topic Speed, and SPI Extensibility
NetEase Smart Enterprise Tech+
NetEase Smart Enterprise Tech+
Jan 21, 2022 · Backend Development

Mastering SPI: Build Extensible Java, Spring, and Dubbo Applications

This article explains the Service Provider Interface (SPI) mechanism across JDK, Spring, and Dubbo, showing how to create modular, maintainable code through interface definitions, configuration files, and ServiceLoader or ExtensionLoader usage, with detailed examples, code snippets, and analysis of advantages and drawbacks.

DubboJavaSPI
0 likes · 17 min read
Mastering SPI: Build Extensible Java, Spring, and Dubbo Applications
OPPO Kernel Craftsman
OPPO Kernel Craftsman
Dec 24, 2021 · Fundamentals

Understanding SPI Protocol, Hardware Interface Design, Timing Diagram, and Linux Kernel Driver Framework

SPI is a high‑speed, full‑duplex serial bus using four pins (CS, SCK, MOSI, MISO) with configurable clock polarity and phase, whose timing diagram shows data transfer on clock edges, and Linux provides a driver framework built around spi_driver, spi_transfer, and spi_message structures for reliable sensor communication.

SPISerial Peripheral Interfacedevice driver
0 likes · 8 min read
Understanding SPI Protocol, Hardware Interface Design, Timing Diagram, and Linux Kernel Driver Framework
vivo Internet Technology
vivo Internet Technology
Dec 8, 2021 · Backend Development

Overview and Usage of JavaMoney (JSR‑354) for Currency and Monetary Amount Handling

JavaMoney (JSR‑354) provides a comprehensive, extensible API for currency units, monetary amounts, conversion, rounding, and formatting, with modular packages, SPI‑based custom implementations, and dynamic data loading, enabling Java applications to handle simple to complex financial and virtual‑currency scenarios.

CurrencyExtensionJSR 354
0 likes · 27 min read
Overview and Usage of JavaMoney (JSR‑354) for Currency and Monetary Amount Handling
vivo Internet Technology
vivo Internet Technology
Jun 16, 2021 · Backend Development

Understanding Java SPI and Dubbo Extension Loading Mechanism

The article explains Java’s built‑in SPI mechanism, then details Dubbo’s enhanced SPI—including ExtensionLoader caching, wrapper and adaptive classes, and @Activate automatic activation—showing how extensions are discovered from META‑INF directories, classified, and loaded on demand for flexible, plug‑in style service implementation.

AdaptiveDubboExtensionLoader
0 likes · 20 min read
Understanding Java SPI and Dubbo Extension Loading Mechanism
Top Architect
Top Architect
May 10, 2021 · Backend Development

Understanding Java SPI, Dubbo SPI, and Spring SPI Mechanisms

This article explains the Service Provider Interface (SPI) concept, demonstrates how Java's built‑in SPI, Dubbo's enhanced SPI, and Spring's SPI work with code examples, compares their strengths and limitations, and discusses classpath ordering and extension loading issues.

DubboExtensionJava
0 likes · 13 min read
Understanding Java SPI, Dubbo SPI, and Spring SPI Mechanisms
Full-Stack Internet Architecture
Full-Stack Internet Architecture
Jan 11, 2021 · Backend Development

Understanding RPC and the Dubbo Framework: Concepts, Demo Code, Architecture and SPI Mechanism

This article explains the fundamentals of Remote Procedure Call (RPC), provides a complete Java RPC demo, introduces the Dubbo distributed RPC framework with its layered architecture, SPI extension mechanism, service exposure and reference processes, and discusses clustering, fault‑tolerance and load‑balancing strategies for building robust backend services.

Backend DevelopmentDistributed SystemsJava
0 likes · 23 min read
Understanding RPC and the Dubbo Framework: Concepts, Demo Code, Architecture and SPI Mechanism
vivo Internet Technology
vivo Internet Technology
Dec 9, 2020 · Backend Development

Understanding Dubbo SPI: Features, Implementation and Comparison with JDK SPI

The article explains Service Provider Interface (SPI) concepts, shows how the JDK’s built‑in SPI works, and details Dubbo’s extended SPI mechanism—including named and adaptive extensions, dependency injection, AOP wrappers, and activation filtering—highlighting its richer features and implementation compared to standard Java SPI.

AdaptiveDubboExtensionLoader
0 likes · 26 min read
Understanding Dubbo SPI: Features, Implementation and Comparison with JDK SPI
JD Retail Technology
JD Retail Technology
Oct 9, 2020 · Backend Development

A Simplified RPC Framework: Core Principles and Implementation

This article introduces a lightweight RPC framework that demonstrates the essential publishing and invocation processes, explains the underlying SPI mechanism, and details service registration, load balancing, fault‑tolerance strategies, and module structure, providing code references and visual diagrams for practical understanding.

Backend DevelopmentJavaRPC
0 likes · 9 min read
A Simplified RPC Framework: Core Principles and Implementation
Java Backend Technology
Java Backend Technology
Jul 27, 2019 · Backend Development

Unlock Java’s Hidden Power: Mastering SPI and JAR Mechanics

This article explains the fundamentals of Java SPI and JAR mechanisms, showing how to define and load service implementations, explore JAR metadata and commands, understand class‑loader hierarchies, Tomcat’s loader architecture, Spring Boot’s nested JAR handling, and how to create custom class loaders.

JARJavaSPI
0 likes · 10 min read
Unlock Java’s Hidden Power: Mastering SPI and JAR Mechanics
ITFLY8 Architecture Home
ITFLY8 Architecture Home
Mar 2, 2018 · Backend Development

How to Build a Plugin‑Based Service Framework in Java Using SPI

This guide explains how to create a modular, plugin‑style service framework in Java using the Service Provider Interface (SPI), covering project structure, interface definition, implementation jars, META‑INF configuration, and a client example that loads multiple time‑service implementations at runtime.

SPIService Loaderplugin architecture
0 likes · 5 min read
How to Build a Plugin‑Based Service Framework in Java Using SPI
Qunar Tech Salon
Qunar Tech Salon
Nov 30, 2016 · Backend Development

Design and Implementation of ares-client for the ARES Automated Testing Framework

The article provides a comprehensive overview of ares-client, detailing its functional positioning, overall architecture, SPI and Base API design, common and special instrumentation, dump and replay mechanisms, request association and filtering strategies, as well as performance optimizations and future enhancements for backend testing integration.

AutomationSPIdump-replay
0 likes · 12 min read
Design and Implementation of ares-client for the ARES Automated Testing Framework
Java Backend Technology
Java Backend Technology
Oct 13, 2016 · Backend Development

Mastering Dubbo: Architecture, Features, and Advanced Usage

Dubbo, an extensible Java RPC framework, evolves from simple single‑app setups to distributed service and dynamic resource governance architectures, offering RESTful calls, high‑performance serialization, flexible protocols, various clustering strategies, load‑balancing options, and a modular SPI‑based core, all detailed with diagrams and code snippets.

Backend DevelopmentDubboJava
0 likes · 16 min read
Mastering Dubbo: Architecture, Features, and Advanced Usage