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服务。