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

标签 java spring cxf jax-rs

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

我在 Spring 应用程序中使用 CXF,我必须使用以下 XML 手动声明资源,即使 Spring 成功发现资源 <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 3.0.4 中测试和工作。

<jaxrs:server address="/" basePackages="a.b.c"/>

别忘了在 web.xml 中提及 cxf-servlet

关于java - 在 Spring 应用程序中使用 CXF 自动发现 JAX-RS 资源,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13520821/

相关文章:

java - Spring-Security:当 AuthenticationManager 抛出 BadCredentialsException 时返回状态 401

java - 为什么我在 spring 上下文之外得到关闭的 session

java - Jboss 7.2 和 Java 8

web-services - 使用部署在 Tomcat 中的 CXF 插件的 Grails App

java - 在javafx 8中使用namedArg注释将对象作为参数传递

java - 如何在嵌套类的内部类中构造和使用对象?

java - 使用compareTo()从文件读取、标记化、排序不起作用?

java - Spring MVC 中的嵌套异常处理

Java:实现 Comparable 接口(interface)的问题

java - 如何使用 Spring-Boot 运行 cxf-xjc-plugin?