您可以编写自己的注入提供程序并将其插入Jersey-查看SingletonTypeInjectableProvider和PerRequestTypeInjectableProvider-扩展这些类之一(取决于您希望注入对象的生命周期),并将实现注册为您的Web应用程序中的提供程序。
例如,如下所示:
@Providerpublic class MyObjectProvider extends SingletonTypeInjectableProvider<Context, MyObject> { 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()); }}
要将提供程序包括在您的Web应用程序中,您可以选择以下几种方式:
- 如果您的应用使用类路径扫描(或程序包扫描),只需确保提供程序位于正确的程序包中/类路径中
- 或者您可以简单地使用meta-INF / services条目进行注册(添加meta-INF / services / com.sun.jersey.spi.inject.InjectableProvider文件,其内容中包含您的提供程序类的名称)
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)