ResourceConfig 和应用程序

Sam*_*mah 4 rest web-services jersey

使用 ResourceConfig 比 Application 有什么优势(因为 ResourceConfig 扩展了 Application)。

使用资源配置

   @ApplicationPath("/")
    public class MyApplication extends ResourceConfig {
    public MyApplication() {
    super(MultiPartResource.class, MultiPartResource.class, MultiPartFeature.class);
    }
    }
Run Code Online (Sandbox Code Playgroud)

使用应用程序

public class MyApplication extends Application {
@Override
public Set<Class<?>> getClasses() {
final Set<Class<?>> classes = new HashSet<Class<?>>();
// register resources and features
classes.add(MultiPartFeature.class);
classes.add(MultiPartResource.class);
classes.add(LoggingFilter.class);
return classes;
}
}
Run Code Online (Sandbox Code Playgroud)

在多部分表单数据的Jersey 2 注入源后,@ Arul Dhesiaseelan 回答将 MultiPartFeature 添加到两者以在服务器端启用该功能。有人可以解释一下。

小智 5

来自文档:https : //jersey.java.net/documentation/latest/deployment.html

“与 Application 相比,ResourceConfig 提供了简化 JAX-RS 组件注册的高级功能,例如扫描提供的类路径或一组包名称中的根资源和提供程序类等。所有 JAX-RS 组件类都是无论是手动注册还是在扫描过程中发现,都会自动添加到 getClasses 返回的类集中。”