restful +springside(hibernate+spring) 后台框架整合

2023-11-23 19:58

本文主要是介绍restful +springside(hibernate+spring) 后台框架整合,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

本篇详情 [url=http://java.sharpren.com/read.php?tid=54&page=1&toread=1#tpc]http://java.sharpren.com/read.php?tid=54&page=1&toread=1#tpc 附源码[/url]

经过几天的业余时间折腾,终于整合了一个后台框架
有需对 rest 和springside 泛型 反射等深入了解的 可以访问
[url=http://java.sharpRen.com]http://java.sharpRen.com 犀利人javacoder 讨论区[/url]

具体是
1、controller 采用 restful 最近rest 正当流行 呵呵所以用下下
2、用springside 整合了 spring 和hibernate 感谢springside团队
3、统一采用annotation 注解方式 entity 采用JPA
4、用泛型 整合 基类封装了CRUD方法,对于复杂的 查询 给出query 接口 构造 fitler 来过滤
5、用springside的page类和hibernate 进行分页
6、特殊情况需要开 hql或者sql 接口的 可以直接继承 baseDao 可以开 session接口

哎 具体的太多了。。。介绍不完了 详情访问 犀利人http://sharpRen.com(做个广告望见谅)

具体看下面附件里的代码吧
附件 lib 需要自己加 否则 太大了。。。。不好意思 又需要 call me 具体问请在
http://java.sharpren.com 反馈 谢谢
部分代码展示
controller

@Controller
@RequestMapping("/user")
public class UserController extends BaseController {

@Autowired
private UserServiceImpl userServiceImpl;

/**
*
* addOrUpdateUserAjax
*
*
* @param user
* @return
*/
@RequestMapping(value = "{/ajax}", method = RequestMethod.POST)
@ResponseBody
public User addOrUpdateUserAjax(User user) {
this.userServiceImpl.saveOrUpdate(user);
return user;
}


service

/**
*
* UserServiceImpl.java
* 对于简单的CRUD 直接调用 基类的接口
*
* @author LiboLi
* @version $Revision:$ $Date:$
*extends BaseService<User, Integer> implements IUserService
*/
@Service
@Transactional
public class UserServiceImpl extends BaseService<User, Integer>{

public Page<User> queryByFilter(int pageNo,int pageSize,String username){
Page<User> page=new Page<User>();
page.setPageNo(pageNo);
page.setPageSize(pageSize);
List<PropertyFilter> filters =new ArrayList<PropertyFilter>();
PropertyFilter filter=new PropertyFilter("username", username, MatchType.LIKE);
filters.add(filter);
return this.query(page, filters);
}


BaseService

/**
*
* BaseService.java
*
*
* @author LiboLi
* @version $Revision:$ $Date:$
*
*/
@Service
@Transactional
public class BaseService<T,PK> extends EntityManager<T, Serializable>{

@Autowired
private BaseDAO<T,Serializable> baseDao;

@Override
protected HibernateDao<T, Serializable> getEntityDao() {
return baseDao;
}

}


EntityManage

@Transactional
public abstract class EntityManager<T, PK extends Serializable> {

protected Logger logger = LoggerFactory.getLogger(getClass());

protected Class<T> entityClass;

/**
* 通过子类的范型定义取得领域对象类型Class.
*
* eg.
* public class UserManager extends EntityManager<User, Long>
*/
public EntityManager() {
this.entityClass = ReflectionUtils.getSuperClassGenricType(getClass());
}

/**
* 在子类实现的回调函数,为EntityManager提供默认CRUD操作所需的DAO.
*/
protected abstract HibernateDao<T, PK> getEntityDao();

// CRUD函数 //

@Transactional(readOnly = true)
public T get(PK id) {
return getEntityDao().get(id);
}


entity

@Entity
@Table(name="user")
public class User extends BaseEntity {


@Id
@GeneratedValue(strategy=GenerationType.IDENTITY)
private Integer id;


private String username;
private String password;

前台 web

<body>
welcome to my sharpRen.com framework
<form name="form1" action="/netskys/user" method="post">
<p><label>Username:</label><input name="username"></p>
<p><label>Password:</label><input name="password"></p>
<p><input type="submit" name="submitBtn" value="Submit"/></p>
</form>
</body>


以上 为简单代码
本篇详情 [url=http://java.sharpren.com/read.php?tid=54&page=1&toread=1#tpc]http://java.sharpren.com/read.php?tid=54&page=1&toread=1#tpc 附源码[/url]

这篇关于restful +springside(hibernate+spring) 后台框架整合的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/420360

相关文章

SpringBoot 获取请求参数的常用注解及用法

《SpringBoot获取请求参数的常用注解及用法》SpringBoot通过@RequestParam、@PathVariable等注解支持从HTTP请求中获取参数,涵盖查询、路径、请求体、头、C... 目录SpringBoot 提供了多种注解来方便地从 HTTP 请求中获取参数以下是主要的注解及其用法:1

HTTP 与 SpringBoot 参数提交与接收协议方式

《HTTP与SpringBoot参数提交与接收协议方式》HTTP参数提交方式包括URL查询、表单、JSON/XML、路径变量、头部、Cookie、GraphQL、WebSocket和SSE,依据... 目录HTTP 协议支持多种参数提交方式,主要取决于请求方法(Method)和内容类型(Content-Ty

深度解析Java @Serial 注解及常见错误案例

《深度解析Java@Serial注解及常见错误案例》Java14引入@Serial注解,用于编译时校验序列化成员,替代传统方式解决运行时错误,适用于Serializable类的方法/字段,需注意签... 目录Java @Serial 注解深度解析1. 注解本质2. 核心作用(1) 主要用途(2) 适用位置3

深入浅出Spring中的@Autowired自动注入的工作原理及实践应用

《深入浅出Spring中的@Autowired自动注入的工作原理及实践应用》在Spring框架的学习旅程中,@Autowired无疑是一个高频出现却又让初学者头疼的注解,它看似简单,却蕴含着Sprin... 目录深入浅出Spring中的@Autowired:自动注入的奥秘什么是依赖注入?@Autowired

Spring 依赖注入与循环依赖总结

《Spring依赖注入与循环依赖总结》这篇文章给大家介绍Spring依赖注入与循环依赖总结篇,本文通过实例代码给大家介绍的非常详细,对大家的学习或工作具有一定的参考借鉴价值,需要的朋友参考下吧... 目录1. Spring 三级缓存解决循环依赖1. 创建UserService原始对象2. 将原始对象包装成工

Java中如何正确的停掉线程

《Java中如何正确的停掉线程》Java通过interrupt()通知线程停止而非强制,确保线程自主处理中断,避免数据损坏,线程池的shutdown()等待任务完成,shutdownNow()强制中断... 目录为什么不强制停止为什么 Java 不提供强制停止线程的能力呢?如何用interrupt停止线程s

SpringBoot请求参数传递与接收示例详解

《SpringBoot请求参数传递与接收示例详解》本文给大家介绍SpringBoot请求参数传递与接收示例详解,本文通过实例代码给大家介绍的非常详细,对大家的学习或工作具有一定的参考借鉴价值,需要的朋... 目录I. 基础参数传递i.查询参数(Query Parameters)ii.路径参数(Path Va

SpringBoot路径映射配置的实现步骤

《SpringBoot路径映射配置的实现步骤》本文介绍了如何在SpringBoot项目中配置路径映射,使得除static目录外的资源可被访问,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一... 目录SpringBoot路径映射补:springboot 配置虚拟路径映射 @RequestMapp

Java MCP 的鉴权深度解析

《JavaMCP的鉴权深度解析》文章介绍JavaMCP鉴权的实现方式,指出客户端可通过queryString、header或env传递鉴权信息,服务器端支持工具单独鉴权、过滤器集中鉴权及启动时鉴权... 目录一、MCP Client 侧(负责传递,比较简单)(1)常见的 mcpServers json 配置

GSON框架下将百度天气JSON数据转JavaBean

《GSON框架下将百度天气JSON数据转JavaBean》这篇文章主要为大家详细介绍了如何在GSON框架下实现将百度天气JSON数据转JavaBean,文中的示例代码讲解详细,感兴趣的小伙伴可以了解下... 目录前言一、百度天气jsON1、请求参数2、返回参数3、属性映射二、GSON属性映射实战1、类对象映