Spring应用程序模块化

时间:2017-05-03 14:37:03

标签: java spring maven modularity

我有一个Web应用程序,它将安装在多个公司中。每个公司都有API,我试图统一并放入单独的模块。 (这是一个安全原因,因为我不希望CompanyA拥有CompanyB的API。

所以,我认为它应该是这样的(顺便说一句,我使用Maven),

external-api 模块,它只有API接口,如:

interface ExternalApi {
    ....
}

main-application 模块,取决于 external-api 并注明其实施:

@RestController
class ApiController {

    @Inject
    ExternalApi api;

    ...

}

和很多模块一样 companyA-external-api (也取决于 external-api )与ExternalApi接口实施:

@Service
class CompanyAExternalApi implements ExternalApi {
    ....
}

现在,据我所知,我可以将外部api模块的输出jar放在应用程序的类路径下,并让它由Spring加载和处理。

这是合法的方式吗?或者它应该以更自动的方式完成(也许有一些Maven插件或Gradle脚本),因为我感觉像是在重新发明轮子?

0 个答案:

没有答案
相关问题