WebService的基础整合ssh框架的应用
来源:互联网 发布:scilab 矩阵作差 编辑:程序博客网 时间:2024/06/06 17:55
还是基于maven的整合.
在pom.xml文件中添加依赖:
<properties><cxf.version>3.0.1</cxf.version></properties> <!-- 导入webservice依赖 --> <dependency> <groupId>org.apache.cxf</groupId> <artifactId>cxf-rt-frontend-jaxws</artifactId> <version>${cxf.version}</version> </dependency> <dependency> <groupId>org.apache.cxf</groupId> <artifactId>cxf-rt-frontend-jaxrs</artifactId> <version>${cxf.version}</version> </dependency> <dependency> <groupId>org.apache.cxf</groupId> <artifactId>cxf-rt-rs-client</artifactId> <version>${cxf.version}</version> </dependency> <dependency> <groupId>org.apache.cxf</groupId> <artifactId>cxf-rt-rs-extension-providers</artifactId> <version>${cxf.version}</version> </dependency>
在web.xml中加入对CXF的声明:
<!--配置CXF声明--> <servlet> <servlet-name>CXFService</servlet-name> <servlet-class>org.apache.cxf.transport.servlet.CXFServlet</servlet-class> <load-on-startup>1</load-on-startup> </servlet> <servlet-mapping> <servlet-name>CXFService</servlet-name> <!--配置CXF的访问路径./services/后面接appli.... .xml中的 /GandPandService". 然后接每个方法上独有的path--> <url-pattern>/services/*</url-pattern> </servlet-mapping>
<?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:aop="http://www.springframework.org/schema/aop"xmlns:context="http://www.springframework.org/schema/context"xmlns:jdbc="http://www.springframework.org/schema/jdbc" xmlns:tx="http://www.springframework.org/schema/tx"xmlns:jpa="http://www.springframework.org/schema/data/jpa" xmlns:task="http://www.springframework.org/schema/task"xmlns:jaxrs="http://cxf.apache.org/jaxrs"xsi:schemaLocation="http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans.xsdhttp://www.springframework.org/schema/aop http://www.springframework.org/schema/aop/spring-aop.xsdhttp://www.springframework.org/schema/context http://www.springframework.org/schema/context/spring-context.xsdhttp://www.springframework.org/schema/jdbc http://www.springframework.org/schema/jdbc/spring-jdbc.xsdhttp://www.springframework.org/schema/tx http://www.springframework.org/schema/tx/spring-tx.xsdhttp://www.springframework.org/schema/data/jpa http://www.springframework.org/schema/data/jpa/spring-jpa.xsdhttp://cxf.apache.org/jaxrs http://cxf.apache.org/schemas/jaxrs.xsd "><!--address="/UsersService. 这个是自定义的一个访问路径, 接在web.xml文件中配置的/service后面.--><jaxrs:server id="usersService" address="/UsersService"><jaxrs:serviceBeans><!--具体的实现类--><bean class="com.cn.webservice_serviceimpl.UsersServiceImpl" /></jaxrs:serviceBeans><!--配置的WebService需要用到的interceptor(拦截器)--><jaxrs:inInterceptors><bean class="org.apache.cxf.interceptor.LoggingInInterceptor"></bean></jaxrs:inInterceptors><jaxrs:outInterceptors><bean class="org.apache.cxf.interceptor.LoggingOutInterceptor"></bean></jaxrs:outInterceptors></jaxrs:server></beans>
package com.cn.webservice_service;import com.cn.hnust.domain.User;import javax.ws.rs.Consumes;import javax.ws.rs.GET;import javax.ws.rs.POST;import javax.ws.rs.PUT;import javax.ws.rs.Path;import javax.ws.rs.PathParam;import javax.ws.rs.Produces;import java.util.List;//这里定义的是CXF预留的访问接口. 通过以下这些注解的path等进行约定访问.public interface UsersService { /* * @GET:表示的是请求的方法. * @Path("/findAllUsers")配置的访问路径. * @Produces({"application/xml", "application/json"}):表示可以以xml和json格式返回数据 * */ @GET @Path("/findAllUsers") @Produces({"application/xml", "application/json"}) public List<User> findAllUsers();//查询所有 @GET @Path("/findAllUsers") @Produces({"application/xml", "application/json"}) public User findByUsername(String username);//通过用户名查询用户对象 @GET @Path("/getUser/{id}") @Produces({"application/xml", "application/json"}) public User getUser(@PathParam("id") int id);//通过id查询对应数据// @Consumes({"application/xml", "application/json"}): 表示可以接受xml和json格式的数据 @POST @Path("/saveUser") @Consumes({"application/xml", "application/json"}) public void saveUser(User user);//保存一个Bean对象. @PUT @Path(value = "/update") @Consumes({"application/xml", "application/json"}) public void updateUser(User user);//修改一个对象内容上.}
这里是上面service的具体实现类.
package com.cn.webservice_serviceimpl;import com.cn.hnust.domain.User;import org.springframework.beans.factory.annotation.Autowired;import org.springframework.stereotype.Service;import org.springframework.transaction.annotation.Transactional;import com.cn.webservice_dao.UserRepository;import com.cn.webservice_service.UsersService;import java.util.List;@Service@Transactionalpublic class UsersServiceImpl implements UsersService {// 注入DAO层 @Autowired private UserRepository userRepository; @Override public List<User> findAllUsers() { return userRepository.findAll(); }// 通过用户名查找有没有匹配的用户 @Override public User findByUsername(String username) { return userRepository.findByUsername(username); } @Override public User getUser(int id) { return null; } @Override public void saveUser(User user) { } @Override public void updateUser(User user) { }}
最后就是一个简短的使用Spring - data - JPA框架编写的一个DAO层了.
package com.cn.webservice_dao;import com.cn.hnust.domain.User;import org.springframework.data.jpa.repository.JpaRepository;import org.springframework.data.jpa.repository.JpaSpecificationExecutor;public interface UserRepository extends JpaRepository<User, Integer>, JpaSpecificationExecutor<User> {// 一个简单的通过用户名查询用户对象的方法. User findByUsername(String username);}
之后就是service层的一些注解需要注意一下.
在另一个项目中访问这个项目的service的话, 基础代码如下:
第一个是访问路径.
accpet指的是声明接收数据的格式.
get(类名.class): 指的是将获取到的json格式一一对应封装到这个实体类中.
WebClient.create("http://localhost:9012/taotao-manager-web/services/UsersService/findAllUsers").accept(MediaType.APPLICATION_JSON_TYPE).getCollection(Games.class);
阅读全文
0 0
- WebService的基础整合ssh框架的应用
- ssh框架整合webservice
- SSH框架的整合
- ssh框架的整合
- SSH框架的整合
- SSH框架的整合
- SSH框架的整合
- SSH框架的整合
- SSH框架的整合
- ssh框架的整合
- SSH框架的整合
- 总结SSH框架整合基础与需要的jar包
- SSH框架整合的核心
- SSH框架整合的实例
- 整合ssh框架的具体步骤
- 整合ssh框架的配置文件
- 框架SSH整合的配置文件
- SSH框架的基本整合
- 学生管理系统(八)---优化
- 状态机按键扫描
- Error
- 四轴飞行器1.4 姿态解算和Matlab实时姿态显示
- Hive安装和配置
- WebService的基础整合ssh框架的应用
- Java的几种对象(PO,VO,DAO,BO,POJO)解释
- PAT——1020月饼
- 面向虚拟现实更新旧版 Unity* 游戏
- leetcode 292. Nim Game(C语言)
- 第3周实践项目7 删除链表元素最大值
- HDU-2050
- 精简版jre下tzmapping文件的问题
- ./nginx: error while loading shared libraries: libcrypto.so.1.1: cannot open shared object file: No