【原创文章,转载请注明原文章地址,谢谢!】
默认情况下,不管是使用Servlet容器启动还是内置服务器启动,我们都是使用的Jersey的默认配置选项。本节我们简单的介绍一下Jersey的一些自定义配置方式。
Application
在JAX-RS中,提供了一个非常重要的对象:javax.ws.rs.core.Application。该类定义了一个JAX-RS应用的基本组件和相关的信息。一般我们可以使用Application或者通过继承Application类来完成自己的特定的配置。
该类中就只提供了三个方法用来复写:
- public Set<Class<?>> getClasses():该方法需要返回一组组件的类型,返回的类型就是需要注册的组件,可以是资源类,Providers等。
- public Set<Object> getSingletons():该方法需要返回一组组件的实例,这些实例就是资源类,Providers等,但是要求这些资源类,Provider的实例都是完成了相关依赖的注入的,并且都是单利的(这点我们在之前已经介绍过了@Singleton)。本质来说,这个方法就是JAX-RS的各种组件的工厂方法。
- public Map<String, Object> getProperties():该方法是自定义的针对Jersey的配置项。返回的配置项将会设置给javax.ws.rs.core.Configuration接口的实现,一个Configuration对象保存了一个JAX-RS应用的配置状态。
通过上面的介绍我们可以看到,如果要我们自己完全通过继承Application类,来实现我们自己的应用配置,这个是很困难的时候。所以更多的时候,我们采用了另外的方式。