我刚刚为Jersey创建了一个InjectableProvider的实现,但我发现要完成我需要Spring工厂bean支持的注入。我正在寻找一种方法将该工厂作为字段注入提供程序类。我已经尝试使用@Component注释,但是因为IllegalState异常(没有为范围“请求”注册的范围)而失败了)
处理这个问题的正确方法是什么?或者有没有办法从Jerseys HTTPcontext重新获得应用程序上下文?
答案 0 :(得分:0)
这是迟到的,但我讨厌看到无法回答的问题。
通常,在您的工厂bean上,您应该:
@Component
public class FactoryBean(){}
在您的提供商中,您应该使用
public class Provider extends InjectableProvider<Context>{
@InjectParam
private FactoryBean factoryBean;
}
首先想到的是,你会认为你应该使用@Autowired,因为它是Spring的“组件” - 但是因为我们在Jersey实例化的bean中连接它,所以应该使用Jersey的@InjectParam。