具有依赖注入的REST服务器

时间:2016-05-03 08:05:26

标签: java web-services rest dependency-injection

我喜欢构建一个使用依赖注入的REST服务器。在我的情况下,要求将是

1)不应注入服务,而是注入服务的依赖性

2)服务应该通过ServiceLoad发现,而不是在web.xml中预先编写的

举个例子:

我有以下项目结构

以项目为基础

包含API,例如 TheServiceInterface TheDaoInterface

项目服务的插件

插件 - 包含像

这样的服务实现
Path("foo")
public class TheService implements TheServiceInterface {
    private TheDaoInterface dao;

    @Inject
    public TheService(TheDaoInterface dao) {
        this.dao = dao;
    }

    @POST
    @Consumes(APPLICATION_JSON)
    @Path("pr")
    public void webmethod(String request) {
        // do something with the request and dao
    }
}

项目集成

将事物连在一起。这里的想法是通过 ServiceLoader 找到所有 TheServiceInterface 实现,并将dao实现注入其中。

我尝试了Jersey and Guice: a perfect combination for writing RESTful APIs,但是这使用了Jersey 1,看起来Jersey 2和Guice有一些问题,或者我发现的所有示例都只是在web.xml中注入或写入服务的地方

我的方法是否可行 - 如果是这样的话?可以使用哪些技术来实现它?

如果有框架帮助或其他jvm语言如groovy,请告诉我

由于

0 个答案:

没有答案