是否有喜欢Endpoint.publish(address, implementor)公开服务的课程?我正在尝试在Tomcat上部署我的应用程序。CXF或JAX-RS中是否有任何类公开REST Web服务?
Endpoint.publish(address, implementor)
您将需要来注释的API在serviceBean javax.ws.rs代表HTTP方法,如基于注释GET,PUT,POST,DELETE,等,这将暴露你的API到JAX- RS服务器,您需要在CXF配置XML创建。像这样-
javax.ws.rs
GET
PUT
POST
DELETE
<jaxrs:server id="base" address="/"> <jaxrs:providers> <ref bean="provider1" /> <ref bean="provider2" /> </jaxrs:providers> <jaxrs:serviceBeans> <ref bean="serviceBean" /> </jaxrs:serviceBeans> </jaxrs:server>
该配置文件与<context-param>您的web.xml中的contextConfigLocation相同。
<context-param>
如果您不使用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的意义。