重庆分公司,新征程启航
为企业提供网站建设、域名注册、服务器等服务
今天就跟大家聊聊有关在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接口:
public interface ModuleService {
}
然后再分别创建两个module,作为ModuleService的实现:
public class ModuleServiceA implements ModuleService { public ModuleService getModuleService(){ return new ModuleServiceA(); } }