欢迎您访问基于spring factories机制开发SDK!

基于spring factories机制开发SDK

更新时间:2023-02-05 13:04:18作者:admin2

SPI机制:为某个接口寻找服务实现的机制

java SPI就是提供这样的一个机制 ,需要在META-INF目录中设置接口的实现,以实现服务接口与实现的解耦。第三方服务厂商或者插件服务,可以依据SPI机制,实现功能扩展。

在Spring中也有一种类似与Java SPI的加载机制。它在META-INF/spring.factories文件中配置接口的实现类,我们成为Spring factories机制,基于此我们可以自定义stater或SDK供他人使用,项目只在pom.xml中引入SDK,无须配置即可实现功能集成。

最近的需求为例,需要实现授权功能SDK,以供其他产品使用

项目目录结构如下

第一步:在包名root目录下创建自动配置类 EsbrSdkAutoConfig

内容如下:添加

@Configuration

@ComponentScan(basePackageClasses = EsbrSdkAutoConfig.class)

标识此类为配置类,并配置扫描路径为当前类

第二步;    在resources/META-IN目录下,创建spring.factories文件

内容如下:

将org.springframework.boot.autoconfigure.EnableAutoConfiguration的自动配置为值设置为第一步的EsbrSdkAutoConfig的全限定类名(包名+类名)

第三步:编写SDK的Service

通过以上三步,即可基于Spring factories机制完成自定义Starter,在其他项目pom.xml中引入该starter即可

是不是很简单,下面讲解下原理

spring-core包里定义了SpringFactoriesLoader类,这个类实现了检索META-INF/spring.factories文件中的配置,

并通过 loadFactoryNames方法() 获取其接口类的名称

在这个方法中会遍历整个ClassLoader中所有jar包下的spring.factories文件。也就是说我们可以在自己的jar中配置spring.factories文件,不会影响到其它地方的配置,也不会被别人的配置覆盖。

将org.springframework.boot.autoconfigure.EnableAutoConfiguration=cn.org.bjca.esbr.sdk.EsbrSdkAutoConfig

基于springboot自动配置,会扫描并初始化EsbrSdkAutoConfig类,并将EsbrSdkAutoConfig作为basepackage,扫描改类及其该类子包下的类,加载到spring容器。

为您推荐

三八妇乐医用修复敷料成功取得省食药局颁发的II类医疗器械注册

在经过了注册检验、质量管理体系考核、技术审评等一系列严格的流程之后,12月30日,陕西三八妇乐科技集团旗下西安三八妇乐健康产业有限公司研发的医用修复敷料,成功取得了由陕西省药品监督管理局颁发的《医用修复敷料》II类医疗器械注册证(陕械注准)。三八妇乐医用修复敷料成功取得省食药局颁发的II类医疗器械注册证,标志着三八妇乐医美产品自研管线的进一步落地,丰富和扩大了企业医美平台康伊纳系列产品组合。

2023-02-05 12:24

皖西卫生职业学院应用心理学(专升本、本科第二学历)-皖南医学

应用心理学(专升本、本科第二学历)-皖南医学院3、本科第二学历:取得国家教育部审定核准的国民教育系列高校或高教机构颁发的本科及以上八、毕业在规定的年限内修满教学计划规定的低学分数(专升本层次学生需通过国家统考办组织的公共基础课全国统一考试),即可获得北京大学毕业证书,在中国高等教育学生信息网进行电子注册,国家承认学历。应用心理学(专升本、本科第二学历)-网3、本科第二学历:取得国家教育部审定核准的国民教育系列高校或高教机构颁发的本科及以上八、毕业在规定的年限内修满教学计划规定的低学分数(专升本层次学生需通

2023-02-05 10:23

神州五号发射成功语文上册飞船上的特殊乘客公公开课教案

《四年级语文上册《飞船上的特殊乘客》公开课教案》由会员分享,可在线阅读,更多相关《四年级语文上册《飞船上的特殊乘客》公开课教案(3页珍藏版)》请在人人文库网上搜索。

2023-02-05 10:21

2019—2020全国文化市场统计直报填报说明(组图)

2020年度全国文化和旅游市场统计工作即将开始,请各企业按照文件要求和填报说明,按时开展年报工作。2019全国文化市场统计直报填报说明对于在大平台已经办理设立完成或者激活完成的单位,在统计直报系统要求填报的时间段内,没有填报过本年度直报数据,将在“统计直报上报”功能菜单后提示“请填报本年度统计直报数据”,如下图。

2023-02-05 10:17

肇庆市高级技工学校建设纳入“市十大民心工程”(图)

肇庆市高级技工学校(俗称肇庆一技)创建于1964年,属于政府办学,由肇庆市劳动和社会保障局管理,是肇庆、云浮地区范围内唯一的国家重点高级技工学校。为此,广东省人民政府在粤府[2001]98号文指出:高级技工学校是“培养大专层次的生产、服务、管理*线的高级实用职业技术人才”的学校,要提升高级技工在社会上的各方面待遇。

2023-02-05 09:08

辽宁省2018年全国硕士研究生招生考试报名时间须

同时辽宁省各报考点将设置报名人数上限(各报考点报名人数上限详见《辽宁省2018年全国硕士研究生招生考试各报考点网报人数上限情况表》)。各报考点具体选择条件请详见《辽宁省2018年全国硕士研究生招生考试报考点一览表》。具体缴费流程及注意事项详见《辽宁省2018年全国硕士研究生招生考试网上缴费须知》。

2023-02-05 09:08

加载中...