大气中的自定义guice模块
Custom guice module in atmosphere
有没有办法定义被大气拾取的自定义 guice 模块?我找到了 GuiceObjectFactory
并在其中找到了私有的 class AtmosphereModule
,这在这里没有帮助。
目标是创建可在大气应用程序中使用的 guice 提供程序绑定。
谢谢。
编辑
没有更多要补充的了。如上所述,我的目标是能够定义自定义 guice 提供程序,例如
public class ObjectMapperProvider implements Provider<ObjectMapper> {
@Override
public ObjectMapper get() {
ObjectMapper objectMapper = new ObjectMapper();
objectMapper.configure(DeserializationFeature.FAIL_ON_UNKNOWN_PROPERTIES, false);
return objectMapper;
}
}
我已按照 the official wiki on how to enable guice for DI. The question is now if there is a way to bind my custom provider (like in https://github.com/google/guice/wiki/ProviderBindings 的说明进行操作)。
好的,再次查看代码后答案很明显。可以自己创建一个injector,在bootstrap过程中添加到serlvet context中,然后被atmosphere拾取。
Config.Builder builder = new Config.Builder();
builder.resource(MyResource.class)
.port(8080)
.host("localhost")
.servletContextAttribute(Injector.class.getName(), Guice.createInjector(new CustomModule()))
.build();
有没有办法定义被大气拾取的自定义 guice 模块?我找到了 GuiceObjectFactory
并在其中找到了私有的 class AtmosphereModule
,这在这里没有帮助。
目标是创建可在大气应用程序中使用的 guice 提供程序绑定。
谢谢。
编辑
没有更多要补充的了。如上所述,我的目标是能够定义自定义 guice 提供程序,例如
public class ObjectMapperProvider implements Provider<ObjectMapper> {
@Override
public ObjectMapper get() {
ObjectMapper objectMapper = new ObjectMapper();
objectMapper.configure(DeserializationFeature.FAIL_ON_UNKNOWN_PROPERTIES, false);
return objectMapper;
}
}
我已按照 the official wiki on how to enable guice for DI. The question is now if there is a way to bind my custom provider (like in https://github.com/google/guice/wiki/ProviderBindings 的说明进行操作)。
好的,再次查看代码后答案很明显。可以自己创建一个injector,在bootstrap过程中添加到serlvet context中,然后被atmosphere拾取。
Config.Builder builder = new Config.Builder();
builder.resource(MyResource.class)
.port(8080)
.host("localhost")
.servletContextAttribute(Injector.class.getName(), Guice.createInjector(new CustomModule()))
.build();