resteasy-links的研究(三)
最近针对resteasy-links
有一个pull request:
这个PR把之前的RESTUtils
拆分成了provider和injector两部分。PR原作者自己的阐述如下:
接下来的文章会分析这个PR带来的改变。首先看一下将RESTUtils
拆分后的providers和injector。首先是providers:
根据作者的描述,ObjectLinksProvider
是之前RESTUtils
拆分出来的功能,而ClassLinksProvider
是新加的功能模块,用来进行class级别的操作,这个后续文章用代码来展开讲解。
接下来是拆分出来的LinksInjector
:
注意这个injector和resteasy内部的injector接口没有关系,它是一个独立的class。然后只在原来RESTEasyUtils
发挥作用的地方使用:
可以看到它和拆分后的ObjectLinksProvider
配合使用,用来替代原来RESTEasyUtils
的功能。以下是LinksInjector
的inject()
方法的逻辑:
以上是对这次重构的分析。
后续文章,会分析一下新的ClassLinksProvider
的用法。