news 2026/7/20 11:50:39

Java进阶-SPI机制

作者头像

张小明

前端开发工程师

1.2k 24
文章封面图
Java进阶-SPI机制
SPI机制
  • 前言
  • 讲解代码
  • 过程分析

前言

  • 在主键版本中没有web.xml文件,springmvc如何通过继承AbstractAnnotationConfigDispatcherServletInitializer来启动SpringMVC?这就需要通过SPI机制来解决。先放一下大致思路:tomcat启动时会运行实现了servlet规范ServletContainerInitializer接口的实现类,而spring就是用SpringServletContainerInitializer类实现了该规范,因此执行时会实例化SpringServletContainerInitializer以达到启动mvc,另外在该类上有@HandlesTypes(WebApplicationInitializer.class)注解来实现mvc相关配置的加载,加载实现了WebApplicationInitializer的类

讲解代码

链接: JAVA之SPI机制

  • 以下讲解均已以上代码进行分析,请自行下载

过程分析

  1. java-spi它里面定义了Phone规范,以及默认的默认的实现类。

  2. java-spi-ext引用java-spi的模块可以实现扩展Phone接口规范

  3. 运行实现Phone的实现类并该类的路径在META-INF.services中配置

    public class ApplicationMain {
    public static void main(String[] args) {
    ServiceLoader serviceLoader=ServiceLoader.load(Phone.class);
    serviceLoader.forEach((Phone phone)->{
    if (phone instanceof DefaultPhone){
    phone.call();
    }

    if (phone instanceof IOSPhone){ phone.call(); } if (phone instanceof AndroidPhone){ phone.call(); } }); }

    }

从而达到了通过运行java-spi-ext模块来启动java-spi模块

版权声明: 本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!
网站建设 2026/7/15 20:13:07

通信协议仿真:蓝牙协议仿真_(6).蓝牙网络拓扑

蓝牙网络拓扑 1. 蓝牙网络基础 蓝牙网络拓扑是指蓝牙设备在无线通信网络中的组织和连接方式。理解蓝牙网络的基本概念和拓扑结构对于进行蓝牙协议仿真至关重要。蓝牙网络可以分为两种主要类型:基础模式(Basic Rate/Enhanced Data Rate, BR/EDR&#xff0…

作者头像 李华
网站建设 2026/7/16 20:32:10

通信协议仿真:蓝牙协议仿真_(9).蓝牙仿真案例分析

蓝牙仿真案例分析 在上一节中,我们已经介绍了蓝牙协议的基本概念和结构。本节将通过具体的案例来分析蓝牙协议的仿真过程,帮助读者更好地理解如何在实际开发中应用蓝牙仿真技术。我们将从以下几个方面进行详细的分析: 蓝牙设备连接仿真蓝牙数…

作者头像 李华
网站建设 2026/7/18 15:30:24

Java实战:Spring Boot application.yml配置文件详解

本文将详细介绍Spring Boot application.yml 配置文件的使用和配置项。我们将探讨 application.yml 文件的基本概念,以及如何使用它来配置Spring Boot应用程序的各个方面。此外,我们将通过具体的示例来展示如何配置不同的Spring Boot组件,如数…

作者头像 李华
网站建设 2026/7/14 6:22:32

51单片机__LED相关

51单片机__LED相关 单片机介绍 单片机,英文Micro Controller Unit,简称MCU 内部集成了CPU、RAM、ROM、定时器、中断系统、通讯接口等一系列电脑的常用硬件功能 单片机的任务是信息采集(依靠传感器)、处理(依靠CPU&…

作者头像 李华
网站建设 2026/7/19 11:16:05

Prompt Tuning动态选医疗特征提速诊断

📝 博客主页:Jax的CSDN主页 Prompt Tuning动态选医疗特征提速诊断 目录Prompt Tuning动态选医疗特征提速诊断 引言:诊断效率的全球性挑战 技术原理:动态特征选择的机制创新 现实应用:2023年临床试点的突破性验证 挑战与…

作者头像 李华