0 0

Jersey 自定义EntityProvider(JSON或是其它类型) 的问题。0

Jersey默认并没有支持Json,而是需要在Pom文件中加入一其它的jar包,我自己知道的是两种方式:
方式1:
在POM文件中加入以下配置
<dependency>
<groupId>org.codehaus.jackson</groupId>
<artifactId>jackson-jaxrs</artifactId>
<version>1.9.13</version>
</dependency>
然后自定义类去扩展ResourceConfig
public class ApplicationExtension extends ResourceConfig {
public ApplicationExtension() {
super.register(JacksonFeature.class);
}
}

方式二:
在POM文件中加入以下配置
<dependency>
  <groupId>com.fasterxml.jackson.jaxrs</groupId>
  <artifactId>jackson-jaxrs-json-provider</artifactId>
  <version>2.2.3</version>
</dependency>
不需要扩展ResourceConfig。


我的问题就是
为什么方式二不需要自定义类去扩展ResourceConfig,是这个jar包是实现了某个接口? 还是标注了那个Annotation?
我去看他们的源代码,他们最终都是使用了jackson,但是为什么第二种就不需要自定义类去扩展ResourceConfig?
SOA 
2014年1月26日 15:04

1个答案 按时间排序 按投票排序

0 0

哇靠,这是两家公司出的产品,能互相比较吗?

第一个是Jackson的
第二个是fasterxml的

内部实现可能不一样了。

Jackson不会专门定制给你做,需要实现一些事情。
fasterxml的话,应该是内部有xml配置了。也就不用你操心了。(这个框架用了Jackson,应该是内部实现了。具体的我没看源码,仅仅是猜测)

2014年1月27日 12:38

相关推荐

Global site tag (gtag.js) - Google Analytics