如何在java中公开cxf restful web服务?

时间:2016-04-14 05:14:29

标签: java jax-rs cxf

是否有类似$2的类来公开服务?我正在尝试在Tomcat上部署我的应用程序。是否有任何CXF或JAX-RS类可以公开REST Web服务?

1 个答案:

答案 0 :(得分:2)

您需要在serviceBean中使用基于javax.ws.rs的注释来注释您的API,这些注释表示HTTP方法,如GETPUTPOSTDELETE等这将使您的API暴露给您需要在CXF配置XML中创建的JAX-RS服务器。像这样的东西 -

<jaxrs:server id="base" address="/">
    <jaxrs:providers>
        <ref bean="provider1" />
        <ref bean="provider2" />            
    </jaxrs:providers>
    <jaxrs:serviceBeans>
        <ref bean="serviceBean" />
    </jaxrs:serviceBeans>
</jaxrs:server>

此配置文件与您在web.xml中的<context-param> contextConfigLocation提及的文件相同

如果您不使用Spring,可以使用以下命令以编程方式创建JAX-RS服务器:

JAXRSServerFactoryBean sf = new JAXRSServerFactoryBean();
sf.setResourceClasses(abc.class);

List providers = new ArrayList();
sf.setProviders(providers);
sf.setAddress(ENDPOINT_ADDRESS);

server = sf.create(); 

但是我没有看到没有Spring使用CXF的重点。