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

广州个人网站制作公司app开发公司推荐

广州个人网站制作公司,app开发公司推荐,做网站为什么要用php框架,免费企业网络推广网站一、什么是SPI Java SPI(Service Provider Interface)是Java官方提供的一种服务发现机制。 它允许在运行时动态地加载实现特定接口的类,而不需要在代码中显式地指定该类,从而实现解耦和灵活性。 二、实现原理 基于 Java 类加载…

一、什么是SPI

Java SPI(Service Provider Interface)是Java官方提供的一种服务发现机制。
它允许在运行时动态地加载实现特定接口的类,而不需要在代码中显式地指定该类,从而实现解耦和灵活性。

二、实现原理

基于 Java 类加载机制和反射机制。

存在
开始
加载服务
ServiceLoader.load, 参数Class
检测META-INF/services文件夹
是否存在
接口全限定名命名
的文件
获取文件内
实现类的全限定名
反射创建
结束

三、优点

  • 松耦合性:具有很好的松耦合性,可以在运行时动态加载实现类,而无需在编译时将实现类硬编码到代码中。
  • 扩展性:可以为同一个接口定义多个实现类,使应用程序更容易扩展和适应变化。
  • 易于使用:只需要定义接口并指定实现类的类名,即可轻松地使用新的服务提供者。

四、使用

我的服务

新建接口

这个接口要给SPI实现者

package com.example.demo;
public interface Phone {void print();
}

使用

public static void main(String[] args) {ServiceLoader<Phone> phones = ServiceLoader.load(Phone.class);for (Phone phone:phones) {phone.print();}
}

这是时候我们还没有任何实现类。
所以ServiceLoader是加载不到的。
我们需要另一个服务去实现配置Phone接口,并引入另一个服务的依赖

其他的服务实现接口

另一个服务实现配置Phone接口

package com.example.demo2;public class HuaweiPhone implements Phone {@Overridepublic void print() {System.out.println("遥遥领先?");}
}

实现接口2

package com.example.demo2;
public class XiaomiPhone implements Phone{@Overridepublic void print() {System.out.println("Are you ok?");}
}

在META-INF/services创建配置

创建com.example.demo.Phone的文件
内容:

com.example.demo2.HuaweiPhone
com.example.demo2.XiaomiPhone

http://www.tj-hxxt.cn/news/67064.html

相关文章:

  • 网站开发学校企业品牌营销推广
  • 网站注册便宜廊坊seo外包公司费用
  • ui做套网站多少钱wordpress官网入口
  • vs做网站教程什么软件可以搜索关键词精准
  • 大连外贸网站制作最近几天的新闻
  • 网站系统代码怎么用关键词优化包年推广
  • 网站团购活动页面怎么做排名检测
  • 广州手机网站制作怎么做一个网页
  • No物流网站建设微信指数是搜索量吗
  • 做网站便宜新网站怎么做推广
  • 怎么在网站后台加框框什么是网络营销策略
  • 制作网页时可以使用什么来实现动态效果宁波seo的公司联系方式
  • 任家房网站建设关键词热度查询工具
  • 自己做的网站能放到网上么企业网络营销推广平台
  • 个人网站备案注销域名批量查询
  • 一个企业的网站建设旅游企业seo官网分析报告
  • 丹东振兴区中国seo关键词优化工具
  • wordpress网站维护页面模板营销系统
  • 专业网站制作哪里好什么平台推广效果最好
  • 一个网站的后台怎么做长春网站优化页面
  • 建设集团简介泰州网站建设优化
  • 农林行业网站开发公司推广普通话的意义论文
  • dw个人网站制作教程搜索引擎营销特点是什么
  • 东莞市视频直播网站开发北京网站
  • 赣州 做网站广告联盟平台哪个好
  • 西安的网站设计公司名称下载手机百度最新版
  • 网络架构有哪些seo排名影响因素主要有
  • 粉丝网站制作百度ai人工智能
  • 深圳设计周展会2023兰州seo推广
  • 企业官网建站网站推广网站的方法有哪些