当前位置: 首页 > 面试题库 >

在Spring应用程序中使用CXF自动发现JAX-RS资源

朱兴学
2023-03-14
问题内容

Apache CXF(2.7.0)是否可以 在类路径中自动发现JAX-RS资源 ?也就是说,用注释的类@Path

我在Spring应用程序中使用CXF,并且即使Spring成功发现了资源,也必须使用以下XML手动声明资源<context:component-scan ...>

<jaxrs:server id="myService" address="/myService">
    <jaxrs:serviceBeans>
        <ref bean="myResource1" />
        <ref bean="myResource2" />
        <ref bean="myResource3" />
    </jaxrs:serviceBeans>
</jaxrs:server>

我想避免这种情况(因为我可以使用其他JAX-RS实现,例如resteasy),因为在我的情况下,这种情况很难维护,并且它迫使我在Spring
XML配置文件中声明我的bean依赖关系。


问题答案:

在CXF
2.7中,目前似乎没有办法使用Spring配置执行此操作。如果您对resteasy感兴趣,那么他们已经实现了一个BeanFactoryPostProcessor
SpringBeanProcessor.java来查找@Path和@Provider。可以在CXF中完成类似的操作,但似乎尚未实现。看来您不是唯一感兴趣的CXF-3725



 类似资料:
  • 我将rest服务配置为通过Variant实现内容协商。在jersey上一切正常,但在apache cxf上有些问题。 找不到类ContentType:Application/XML的消息正文编写器 当我将响应构造为xml类型时,似乎找不到正确的正文编写器。

  • 问题内容: 我使用AppFuse创建了一个基本的应用程序外壳,并按照AppFuse教程使用Jax- RS创建了一个简单的RESTful服务。那很好。调用时,将Person对象的集合作为Json格式的字符串返回,并带有正确的数据。 我现在想从Appfuse提供的RESTful服务中访问和对象(以使用需要这些对象的另一个库)。 我 _认为_应该可以通过添加@Context注释来实现,但是,如果我添加@

  • 经过谷歌搜索,有人说可能是webshpere服务器已经包含了ASM。因此,我从app.war web-INF/lib中删除了asm.jar。但它仍然存在错误。

  • 我想在我的JAX-RS RESTful服务上实现OAuth2.0授权。 经过一些研究,我找到了Apache CXF来做这件事。但是,我还没有找到任何关于它的例子,对我来说也不清楚。在哪里可以找到一些使用OAuth2.0的JAX-RS示例?

  • 我正在尝试为我开发的REST API创建一个过滤器,该API遵循以下问题,即使用JAX-RS和Jersey进行基于REST令牌的身份验证的最佳实践。 我错过了什么?提前道谢。

  • 我正在使用RAD和WAS7.0.23,并尝试在其中部署jax-rs。但是我在部署描述符(web.xml)中发现了以下错误。 错误404:javax.Servlet.unavailableException:SRVE0200E:Servlet[com.ibm.websphere.jaxrs.server.ibmrestServlet]:找不到所需的类-class java.lang.ClassNot