来源:自学PHP网 时间:2020-09-25 15:59 作者:小飞侠 阅读:次
[导读] 在java中使用SPI创建可扩展的应用程序操作...
今天带来在java中使用SPI创建可扩展的应用程序操作教程详解
简介 什么是可扩展的应用程序呢?可扩展的意思是不需要修改原始代码,就可以扩展应用程序的功能。我们将应用程序做成插件或者模块。 这样可以在不修改原应用的基础上,对系统功能进行升级或者定制化。 本文将会向大家介绍如何通过java中的SPI机制实现这种可扩展的应用程序。 SPI简介 SPI的全称是Java Service Provider Interface。是java提供的一种服务发现的机制。 通过遵循相应的规则编写应用程序之后,就可以使用ServiceLoader来加载相应的服务了。 SPI的实现主要分为4个部分: Service Provider Interface: SPI是一个interface或者是抽象类,其中定义了我们需要扩展实现的功能。 Service Providers:这是SPI的具体实现,提供了具体的实现功能 SPI Configuration File:SPI的配置文件,通过在配置文件我们来配置相关的SPI发现信息。 ServiceLoader: ServiceLoader是用来加载和发现服务的java类,并提供了很多有用的方法。 SPI的普通java实现 讲完SPI的定义,大家可能还是不清楚SPI到底是做什么的,又该怎么使用它。 不用急,我们下面通过一个例子来说明。 首先创建一个module:SPI-service,里面主要定义了一个ModuleService接口:
然后再分别创建两个module,作为ModuleService的实现: public class ModuleServiceA implements ModuleService { public ModuleService getModuleService(){ return new ModuleServiceA(); } } public class ModuleServiceB implements ModuleService { public ModuleService getModuleService(){ return new ModuleServiceB(); } } 接着分别在两个module中创建META-INF/services文件夹,并且在里面创建两个以 Service Provider Interface限定名为名字的文件,这里文件名是:com.flydean.base.service.ModuleService,文件里面存放的是SPI的具体实现类:
Java实现ip地址和int数字的相互转换 最新评论添加评论更多文章推荐
自学PHP网专注网站建设学习,PHP程序学习,平面设计学习,以及操作系统学习 京ICP备14009008号-1@版权所有www.zixuephp.com 网站声明:本站所有视频,教程都由网友上传,站长收集和分享给大家学习使用,如由牵扯版权问题请联系站长邮箱904561283@qq.com
添加评论 |