当前位置: 首页 > news >正文

网站内容资源建设crossapple wordpress

网站内容资源建设,crossapple wordpress,东莞市网络营销推广多少钱,电气工程师报考条件1. 了解SPI机制 我们在平时学习和工作中总是会听到Java SPI机制,特别是使用第三方框架的时候,那么什么是SP机制呢?SPI 全称 Service Provider Interface,是 Java 提供的一套用来被第三方实现或者扩展的接口,它可以用来…

1. 了解SPI机制

我们在平时学习和工作中总是会听到Java SPI机制,特别是使用第三方框架的时候,那么什么是SP机制呢?SPI 全称 Service Provider Interface,是 Java 提供的一套用来被第三方实现或者扩展的接口,它可以用来启用框架扩展和替换组件。 SPI 的作用就是为这些被扩展的 API 寻找服务实现。

2. 使用SPI机制

  1. 新建一个maven工程spiTest,包含两个子工程spiProvider、spiConsumer,工程结构如下:

在这里插入图片描述

  1. 在spiProvider工程中定义一个PowerJackInterface接口:

    package com.jing.standard;/*** 电源插座接口*/
    public interface PowerJackInterface {/*** 电源插座*/void doPowerJack();}
    
  2. 在spiProvider工程中提供一个实现类:

    package com.jing.standard.impl;import com.jing.standard.PowerJackInterface;public class PowerJack110V implements PowerJackInterface {@Overridepublic void doPowerJack() {System.out.println("这是110V电源插座!");}
    }
    
  3. 在spiProvider工程中resource目录下创建 META-INF/services/目录,并且创建一个名为com.jing.standard.PowerJackInterface的文件,内容如下:

    com.jing.standard.impl.PowerJack110V
    
  4. 在spiConsumer工程中引入spiProvider工程:

    <dependency><groupId>com.jing</groupId><artifactId>spiProvider</artifactId><version>1.0.0-SNAPSHOT</version>
    </dependency>
    
  5. 在spiConsumer工程中进行方法调用:

    package com.jing;import com.jing.standard.PowerJackInterface;import java.util.ServiceLoader;public class Main {public static void main(String[] args) {ServiceLoader loader = ServiceLoader.load(PowerJackInterface.class);loader.forEach(item -> {PowerJackInterface powerJackInterface = (PowerJackInterface) item;powerJackInterface.doPowerJack();});}
    }
    
  6. 运行结果:

    这是110V电源插座!
    
  7. 在spiConsumer工程中也增加一个PowerJackInterface接口实现类:

    package com.jing.service;import com.jing.standard.PowerJackInterface;public class PowerJack220V implements PowerJackInterface {@Overridepublic void doPowerJack() {System.out.println("220V电源插座!");}
    }
    
  8. 在spiConsumer工程中resource目录下创建 META-INF/services/目录,并且创建一个名为com.jing.standard.PowerJackInterface的文件,内容如下:

    com.jing.service.PowerJack220V
    
  9. 运行结果

    220V电源插座!
    这是110V电源插座!
    

3. SPI机制总结

JDK中的SPI实现,是由ServiceLoader类根据自定义传入类加载器或者应用程序类加载器在约定好的固定路径下(ClassPath:META-INF/services/)去查找和加载第三方接口实现类。
在这里插入图片描述

要使用JDK中的SPI机制有几个前提条件:

  • 服务提供方必须实现目标接口
  • 服务提供方必须在自身ClassPath:META-INF/services/路径下建立文件,文件名为目标接口全限定名;文件内容为实现目标接口的具体实现类全限定名。
http://www.yayakq.cn/news/784602/

相关文章:

  • 中卫网站推广优化网络服务器配置
  • 360网站怎么做百度搜索下载app
  • 摄影网站开发网站建设小组实训总结
  • 青岛商家都上什么网站百度做网站的公司
  • 成都网站建设哪家比较好温州网站设计服务商
  • 网页与网站的区别和关系开广告店需要什么技术
  • 学校加强网站建设经典seo伪原创
  • 企业网站优化工具公司支付网站款做凭证
  • 免费的小网站合肥装修公司排行榜
  • wordpress建淘宝客网站计算机二级网页制作基础
  • 怎么更改网站为什么邮箱突然进不去了总提示正在进入不安全网站
  • 如何做网站拥有自己的地址海淘返利网站怎么做
  • 公司做网站的价格做视频包的网站有哪些
  • 做网页专题 应该关注哪些网站直播间 网站建设
  • 崇明苏州网站建设长春网站公司
  • 网站基本架构设计的主要步骤 pp下载安装 app
  • 北京网站制作建设公司网站泛目录怎么做
  • 范例网站怎么做网站建设中倒计时源码
  • 装修网站源码注册公司流程和费用图
  • 什么服装网站做一件代发游戏推广代理平台
  • 清远网站建设公司专业官网建设
  • 网站页面的大小写上每网站建设
  • 网站建设职责漯河网站网站建设
  • 建设网站费30岁转行做网站设计
  • 中国建设银行对公网站wordpress自定义文章添加标签
  • 网站建站平台eazyshop怎么做网站底部版权信息
  • 上海做网站比较有名的公司青海省城乡建设厅网站
  • 网站建设作业房价必涨的十大城市
  • 做饲料机的川工网站5分钟宣传片多少钱
  • 网站营销费用徐州建设工程网上交易平台