Set <class <?>>资源的用途是什么?new = java.util.HashSet <>();

时间:2018-06-22 06:01:31

标签: java java-ee jax-rs java-ee-7

其余api中此代码行的用法是什么 Set<Class<?>> resources = new java.util.HashSet<>();

@ApplicationPath("/service")
public class ApplicationConfig extends Application {
@Override
public Set<Class<?>> getClasses() {

    Set<Class<?>> resources = new java.util.HashSet<>();

    System.out.println("REST configuration starting: getClasses()");            

    //features
    //this will register Jackson JSON providers
    resources.add(org.glassfish.jersey.jackson.JacksonFeature.class);



    //more code.....
}

1 个答案:

答案 0 :(得分:0)

Application类定义JAX-RS应用程序的组件。 Application的子类可以覆盖getClasses(),以注册应用程序使用的一组根资源,提供程序和要素类。

最简单的实现方法如下:

@ApplicationPath("api")
public SampleApplication extends Application {

}

在上面的示例中,没有注册任何资源类或提供者,因此JAX-RS运行时将扫描类路径以查找用@Path@Provider注释的JAX-RS组件,并将自动注册它们。 / p>

有关详情,请参见此answer


Set<Class<?>>表示Set,其中包含Class未知类型(由? wildcard表示)。在Oracle的The Java Tutorials中,您将找到有关generics的整个内容。我鼓励您看看。