您可以编写自己的注射提供商并将其插入泽西州 – 查看
SingletonTypeInjectableProvider和
PerRequestTypeInjectableProvider – 扩展其中一个类(取决于您想要注射对象的生命周期),并将您的实现注册为Web应用程序中的提供者.
例如,像这样:
@Provider
public class MyObjectProvider extends SingletonTypeInjectableProvider {
public MyObjectProvider() {
// binds MyObject.class to a single MyObject instance
// i.e. the instance of MyObject created bellow will be injected if you use
// @Context MyObject myObject
super(MyObject.class, new MyObject());
}
}
要在您的网络应用程序中包含提供程序,您有几个选择:
>如果您的应用程序使用类路径扫描(或程序包扫描),请确保提供程序位于类路径中的正确的程序包中>或者您可以使用META-INF / services条目注册它(在其内容中添加具有提供者类名称的META-INF / services / com.sun.jersey.spi.inject.InjectableProvider文件)