我想在没有XML bean配置的情况下使用Spring + CXF创建RESTfull Web服务。如何将以下基于XML的配置转换为Java?

applicationBean.xml

<jaxrs:server id="employeeService" address="/employeeservices">
    <jaxrs:providers>
        <bean class="org.codehaus.jackson.jaxrs.JacksonJsonProvider" />
    </jaxrs:providers>
    <jaxrs:serviceBeans>
        <ref bean="cxfServiceImpl" />
    </jaxrs:serviceBeans>
    <jaxrs:extensionMappings>
        <entry key="xml" value="application/xml" />
        <entry key="json" value="application/json" />
    </jaxrs:extensionMappings>
</jaxrs:server>


Spring CXF配置

@Configuration
public class AppConfig {
  //Code for CXF need to be here
}

最佳答案

如果您使用的是spring-boot,这是最简单的方法。

@Import(SpringComponentScanServer.class)
@Configuration
public class KpCxfConfiguration {

    @Bean
    public ServletRegistrationBean servletRegistrationBean(ApplicationContext context) {
        return new ServletRegistrationBean(new CXFServlet(), "/api/*");
    }

}


注意:您的服务类需要使用@Path注释进行注释

而且,如果您使用的是非春季启动应用程序,则可以在web.xml中定义servlet映射。

10-07 12:16