用Jersey构建RESTful服务7--Jersey+SQLServer+Hibernate4.3+Spring3.2
2023-09-14 08:59:41 时间
1.根目录下下创建 Spring 的配置文件applicationContext.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:context="http://www.springframework.org/schema/context" xsi:schemaLocation="http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans.xsd http://www.springframework.org/schema/context http://www.springframework.org/schema/context/spring-context.xsd" !-- 激活那些已经在g容器里注册过的bean -- context:annotation-config /context:annotation-config !-- 在容器中注入bean -- bean id="UserServiceImpl" / bean id="UserDaoImpl" / /beans
2.在com.waylau.rest.service和com.waylau.rest.service.impl下分别增加 UserService 和 UserServiceImpl。
UserService.java
package com.waylau.rest.service; import java.util.List; import com.waylau.rest.bean.User;
import com.waylau.rest.dao.impl.UserDaoImpl; import com.waylau.rest.service.UserService; * User Service 接口实现 * @author waylau.com * 2014-7-25 */ public class UserServiceImpl implements UserService { @Autowired private UserDaoImpl userDaoImpl; public UserServiceImpl() { // TODO Auto-generated constructor stub @Override public User getUserById(String id) { return userDaoImpl.getUserById(id); @Override public boolean deleteUserById(String id) { return userDaoImpl.deleteUserById(id); @Override public boolean createUser(User user) { return userDaoImpl.createUser(user); @Override public boolean updateUser(User user) { return userDaoImpl.updateUser(user); @Override public List User getAllUsers() { return userDaoImpl.getAllUsers();
3.修改 UserResource.java
package com.waylau.rest.resources; import java.util.ArrayList; import java.util.List; import java.util.logging.Logger; import javax.ws.rs.Path; import javax.ws.rs.Produces; import javax.ws.rs.Consumes; import javax.ws.rs.PathParam; import javax.ws.rs.core.MediaType; import javax.ws.rs.DELETE; import javax.ws.rs.GET; import javax.ws.rs.POST; import javax.ws.rs.PUT; import org.springframework.beans.factory.annotation.Autowired; import com.waylau.rest.bean.User; import com.waylau.rest.service.impl.UserServiceImpl; * 用户资源 * @author waylau.com * 2014-7-26 */ @Path("/users") public class UserResource { private static final Logger LOGGER = Logger.getLogger(UserResource.class.getName()); @Autowired private UserServiceImpl userServiceImpl; public UserResource() { LOGGER.fine("UserResource()"); * 增加 * @param user */ @POST @Consumes({MediaType.APPLICATION_XML, MediaType.APPLICATION_JSON}) public void createUser(User user) { userServiceImpl.createUser(user); * 删除 * @param id */ @DELETE @Path("{id}") public void deleteUser(@PathParam("id")String id){ userServiceImpl.deleteUserById(id); * 修改 * @param user */ @PUT @Consumes(MediaType.APPLICATION_XML) public void updateUser(User user){ userServiceImpl.updateUser(user); * 根据id查询 * @param id * @return */ @GET @Path("{id}") @Produces({MediaType.APPLICATION_XML, MediaType.APPLICATION_JSON}) public User getUserById(@PathParam("id") String id){ User u = userServiceImpl.getUserById(id); return u; * 查询所有 * @return */ @GET @Produces({MediaType.APPLICATION_XML, MediaType.APPLICATION_JSON}) public List User getAllUsers(){ List User users = new ArrayList User users = userServiceImpl.getAllUsers(); return users;
4.修改web.xml,插入
module-name RestDemo /module-name listener listener-class org.springframework.web.context.ContextLoaderListener /listener-class /listener context-param param-name contextConfigLocation /param-name param-value classpath:applicationContext.xml /param-value /context-param
1.先运行项目
2.运行UserClient.java测试,控制台输出如下
****增加用户addUser**** ****查询所有getAllUsers**** [{"userId":"002","userName":"sdfs","age":"23"},{"userId":"003","userName":"sdfs","age":"23"},{"userId":"004","userName":"sdfs","age":"23"},{"userId":"005","userName":"sdfs","age":"23"},{"userId":"006","userName":"Susan","age":"21"},{"userId":"007","userName":"sdfs","age":"23"},{"userId":"ds","userName":"ds","age":"ds"}] ****修改用户updateUser**** ****根据id查询用户**** 006Susan33 ****查询所有getAllUsers**** [{"userId":"002","userName":"sdfs","age":"23"},{"userId":"003","userName":"sdfs","age":"23"},{"userId":"004","userName":"sdfs","age":"23"},{"userId":"005","userName":"sdfs","age":"23"},{"userId":"006","userName":"Susan","age":"33"},{"userId":"007","userName":"sdfs","age":"23"},{"userId":"ds","userName":"ds","age":"ds"}] ****删除用户**** ****查询所有getAllUsers**** [{"userId":"002","userName":"sdfs","age":"23"},{"userId":"003","userName":"sdfs","age":"23"},{"userId":"004","userName":"sdfs","age":"23"},{"userId":"005","userName":"sdfs","age":"23"},{"userId":"007","userName":"sdfs","age":"23"},{"userId":"ds","userName":"ds","age":"ds"}]
本章源码(含jar包):https://github.com/waylau/RestDemo/tree/master/jersey-demo7-sqlserver-hibernate-spring3
Go语言:RESTful API 服务,急速入门! REST即表述性状态传递(英文:Representational State Transfer,简称REST),它是一种针对网络应用的设计和开发方式,可以降低开发的复杂性,提高系统的可伸缩性
16、springcloud整合Swagger2构建Restful服务的APIs 比如说代码改了,但是接口文档还没来得及修改等问题,而Swagger2则给我们提供了一套完美的解决方案,下面来看看Swagger2是如何来解决这个问题的。
杜万-Java reactive programming - Reactor 3 and Spring WebFlux 立即下载
相关文章
- SQLServer 错误 41368 只支持对自动提交事务使用 READ COMMITTED 隔离级别访问内存优化表。 显式或隐式事务不支持此隔离级别。 使用表提示(例如 WITH (SNAPSHOT))为内存优化表提供一种支持的隔离级别。 故障 处理 修复 支持远程
- SQL Server优化:建立索引提升查询性能(sqlserver建索引)
- 器性能优化SQLServer服务器性能优化:最佳实践篇(sqlserver服务)
- 如何使用SQLServer管理节假日(sqlserver节假日)
- SQL Server约束——确保数据安全的护航者(sqlserver约束名)
- 利用SQLServer技术进行租用处理(sqlserver 租用)
- 深入剖析:SQL Server的数组类型(sqlserver的数组)
- Sqlserver:利用有效期提升数据性能(sqlserver有效期)
- 钟SQLServer把时分钟精确管理(sqlserver 时分)
- 期深入分析SQLServer中的日期周期性(sqlserver日期周)
- 存储过程如何使用SQLServer编写专业的存储过程(sqlserver怎么写)
- 利用SQLServer实现微信的数据库服务(sqlserver微信)
- SQLServer:构建应用池打造完美运行环境(sqlserver应用池)
- 成功SQLServer安装失败:挫败与困惑(sqlserver安装不)
- 精通SQL Server外部链接的技巧(sqlserver外链接)
- SQLServer推出新型外卖服务,实现快捷便利(sqlserver 外卖)
- 倡导SQLServer国产化,走向世界舞台(sqlserver国产化)
- 探索SQLServer中获取周报表的简单方法(sqlserver周函数)
- 『使用SQL Server获取月份信息』(sqlserver取月份)
- 深入探究:SQL Server的小数位数除零处理(sqlserver去0)
- SQLServer表名如何命名,并避免常见错误?(sqlserver 表名)
- SQLServer优化:三核引擎精准运转(sqlserver三核)
- SQL Server数据库中的阻塞问题分析(阻塞 sqlserver)
- SqlServer中用exec处理sql字符串中含有变量的小例子