java中spi使用

Java SPI(Service Provider Interface)是一种服务发现机制,允许在运行时加载指定服务。本文详细介绍了SPI的开发步骤,包括定义接口和实现类、创建配置文件以及在启动类中加载服务。通过实例展示了如何创建接口、实现类、配置文件,并在启动类中加载服务。
摘要由CSDN通过智能技术生成

java中spi使用

一、简介

java中spi(service provider interface)是jdk内置的一种服务发现机制,可以基于配置,在运行时加载指定服务。java中提供了很多服务提供接口,如jdbc、jndi等。

二、开发步骤

spi开发中,涉及接口、实现类、配置文件和服务加载,具体开发步骤如下:

  1. 定义接口和实现类(可多个);

  2. 在项目resources目录下创建META-INF/services文件夹,接着在services文件夹下创建以接口完整类路径名(包含包路径和接口名)为文件名的文件,文件内容为需要加载的服务(实现类)的完整类路径名,一行一个;
    目录结构类似:

    resources--
    					|-services--
    											|-com.dragon.study.spring_boot_main.spi.Hello
    

    文件内容类似:

    com.dragon.study.spring_boot_main.spi.HelloOne
    com.dragon.study.spring_boot_main.spi.HelloTwo
    
  3. 在启动类中加载服务,代码类似:

    //加载方式一
    Iterator<Hello> it = Service.providers(Hello.class);
    while(it.hasNext()){
         
    	it.next().hello();
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值