我想在没有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映射。