1.建立maven webapp工程aty-rest。
2. 在pom文件增加spring框架、jax-rs接口、CXF实现
<dependency>
<groupId>javax.ws.rs</groupId>
<artifactId>javax.ws.rs-api</artifactId>
<version>2.0</version>
</dependency>
<dependency>
<groupId>org.springframework</groupId>
<artifactId>spring-web</artifactId>
<version>3.1.1.RELEASE</version>
</dependency>
<dependency>
<groupId>org.apache.cxf</groupId>
<artifactId>cxf-rt-frontend-jaxrs</artifactId>
<version>3.0.0</version>
</dependency>
3.编写rest接口和实现类
public interface INameService
{
@GET
@Path("/welcome/")
@Produces(MediaType.APPLICATION_JSON)
public String welcome();
}
//
@Component("nameServiceImpl")
public class NameServiceImpl implements INameService
{
public String welcome()
{
return "{\"name\":123}";
}
}
4.web.xml中启动sping和cxf
<!-- Spring -->
<context-param>
<param-name>contextConfigLocation</param-name>
<param-value>classpath:spring.xml</param-value>
</context-param>
<listener>
<listener-class>org.springframework.web.context.ContextLoaderListener</listener-class>
</listener>
<!-- CXF -->
<servlet>
<servlet-name>cxf</servlet-name>
<servlet-class>org.apache.cxf.transport.servlet.CXFServlet</servlet-class>
</servlet>
<servlet-mapping>
<servlet-name>cxf</servlet-name>
<url-pattern>/rest/*</url-pattern>
</servlet-mapping>
4.配置cxf-spring.xml,并在spring.xml中将其包含进去
<?xml version="1.0" encoding="UTF-8"?>
<beans xmlns="http://www.springframework.org/schema/beans"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xmlns:jaxrs="http://cxf.apache.org/jaxrs"
xsi:schemaLocation="http://www.springframework.org/schema/beans
http://www.springframework.org/schema/beans/spring-beans-3.0.xsd
http://cxf.apache.org/jaxrs
http://cxf.apache.org/schemas/jaxrs.xsd">
<jaxrs:server address="/greet">
<jaxrs:serviceBeans>
<ref bean="nameServiceImpl"/>
</jaxrs:serviceBeans>
</jaxrs:server>
</beans>
5.用maven打包,将war部署到tomcat下。
一切正常即可通过http://127.0.0.1:8080/aty-rest/rest/greet/welcome访问我们发布的rest服务。