4
只有当它在当前作用域中可用时,我才需要注入一个域,否则为空。例如:Guice中的可选作用域注入
public class Thinger implements Provider<SomeSuch> {
public @Inject(optional=true) HttpServletRequest request;
public SomeSuch get() {
return request == null ? new WhosIt() : WhatsIt();
}
}
但是,如果HttpServletRequest的绑定(它是),但不在范围内,我收到了ProvisioningException。我已经能够找到一个优雅的方式来做到这一点,所以我被降级做类似的事情。
HttpServletRequest request = null;
try {
request = injector.getInstance(HttpServletRequest.class);
} catch(ProvisioningException e) {}
这只是感觉各种各样的错误。有没有适当的方法来做到这一点?
我们如何检查我们是否在一个范围内? – BrunoJCM 2014-05-01 16:33:11