你需要定义一个
AbstractBinder并将其注册到你的JAX-RS应用程序中。活页夹指定依赖项注入应如何创建类。
public class MyApplicationBinder extends AbstractBinder { @Override protected void configure() { bind(MyService.class).to(MyService.class); }}
当
@Inject在类型的参数或字段上检测到时,将
MyService.class使用类将其实例化
MyService。要使用此资料夹,需要在JAX-RS应用程序中注册它。在你的中
web.xml,定义一个JAX-RS应用程序,如下所示:
<servlet> <servlet-name>MyApplication</servlet-name> <servlet-class>org.glassfish.jersey.servlet.ServletContainer</servlet-class> <init-param> <param-name>javax.ws.rs.Application</param-name> <param-value>com.mypackage.MyApplication</param-value> </init-param> <load-on-startup>1</load-on-startup></servlet><servlet-mapping> <servlet-name>MyApplication</servlet-name> <url-pattern>/*</url-pattern></servlet-mapping>
实现MyApplication类(在上面指定init-param)。
public class MyApplication extends ResourceConfig { public MyApplication() { register(new MyApplicationBinder()); packages(true, "com.mypackage.rest"); }}
指定依赖项注入的活页夹已在类的构造函数中注册,并且我们还MyResource通过packages()方法调用告诉应用程序在哪里找到REST资源(在你的情况下为)。
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)