我想为其中一个组件使用 Guice 的静态实例方法(非托管 bean 应该能够访问此类)。我创造了这样的东西:
public class LookupService {
@Inject
private static Provider<Injector> injector = null;
private final ILookup<IWS> lookup;
@Inject
public LookupService(ILookup<IWS> lookup) {
this.lookup = lookup;
}
public static LookupService instance() {
return injector.get().getInstance(LookupService.class);
}
public <T extends IWS> T lookup(Class<T> localInterface) {
return lookup.lookup(localInterface);
}
}
你觉得这个设计怎么样?对此还有其他想法吗?(从非托管对象访问托管 bean)