是否可以像使用 guice 一样将 dagger2 与 jersey 一起使用?
是否有 dagger2 servlet 或 dagger2 jersey 项目?
最佳答案
所以,简短的回答是否定的,没有一个很好的方法可以在您的应用程序中获得 Jersey 的所有功能的同时实现这一点。
但是,有一些方法可以部分地做到这一点。您可以简单地在应用程序 servlet 中注册您的资源(请参阅此处的示例 https://github.com/cogman/gluews/blob/master/src/main/java/com/cogman/glue/GlueApplication.java)
通过这种方法,您会失去 Jersey 在字段级别注入(inject)的魔法,例如 @Context
。您仍然可以通过将它们添加到需要它们的方法签名中来获取这些内容,只是无法在字段级别轻松地做到这一点。
这种方法的另一个缺点是所有资源实际上都变成了单例。如果您的资源是仅服务请求的简单对象,那么这没什么大不了的,如果您的资源在其上存储任何类型的状态,那就很重要了。
关于jersey - 是否可以将 dagger2 与 jersey 一起使用,就像与 guice 一样使用?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31277675/