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

相关文章

C++ HTTP框架推荐(特点及优势)

《C++HTTP框架推荐(特点及优势)》:本文主要介绍C++HTTP框架推荐的相关资料,本文通过实例代码给大家介绍的非常详细,对大家的学习或工作具有一定的参考借鉴价值,需要的朋友参考下吧... 目录1. Crow2. Drogon3. Pistache4. cpp-httplib5. Beast (Boos

MybatisPlus3.3.1整合clickhouse的过程

《MybatisPlus3.3.1整合clickhouse的过程》:本文主要介绍MybatisPlus3.3.1整合clickhouse的过程,本文给大家介绍的非常详细,对大家的学习或工作具有一定... 前言ClickHouse是俄罗斯Yandex发布的一款数据分析型数据库支持sql语法,详情可以访问官网,

java对接第三方接口的三种实现方式

《java对接第三方接口的三种实现方式》:本文主要介绍java对接第三方接口的三种实现方式,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教... 目录HttpURLConnection调用方法CloseableHttpClient调用RestTemplate调用总结在日常工作

Spring 缓存在项目中的使用详解

《Spring缓存在项目中的使用详解》Spring缓存机制,Cache接口为缓存的组件规范定义,包扩缓存的各种操作(添加缓存、删除缓存、修改缓存等),本文给大家介绍Spring缓存在项目中的使用... 目录1.Spring 缓存机制介绍2.Spring 缓存用到的概念Ⅰ.两个接口Ⅱ.三个注解(方法层次)Ⅲ.

Spring Boot 整合 Redis 实现数据缓存案例详解

《SpringBoot整合Redis实现数据缓存案例详解》Springboot缓存,默认使用的是ConcurrentMap的方式来实现的,然而我们在项目中并不会这么使用,本文介绍SpringB... 目录1.添加 Maven 依赖2.配置Redis属性3.创建 redisCacheManager4.使用Sp

Spring Cache注解@Cacheable的九个属性详解

《SpringCache注解@Cacheable的九个属性详解》在@Cacheable注解的使用中,共有9个属性供我们来使用,这9个属性分别是:value、cacheNames、key、key... 目录1.value/cacheNames 属性2.key属性3.keyGeneratjavascriptor

redis在spring boot中异常退出的问题解决方案

《redis在springboot中异常退出的问题解决方案》:本文主要介绍redis在springboot中异常退出的问题解决方案,本文给大家介绍的非常详细,对大家的学习或工作具有一定的参考借鉴... 目录问题:解决 问题根源️ 解决方案1. 异步处理 + 提前ACK(关键步骤)2. 调整Redis消费者组

一文教你Java如何快速构建项目骨架

《一文教你Java如何快速构建项目骨架》在Java项目开发过程中,构建项目骨架是一项繁琐但又基础重要的工作,Java领域有许多代码生成工具可以帮助我们快速完成这一任务,下面就跟随小编一起来了解下... 目录一、代码生成工具概述常用 Java 代码生成工具简介代码生成工具的优势二、使用 MyBATis Gen

springboot项目redis缓存异常实战案例详解(提供解决方案)

《springboot项目redis缓存异常实战案例详解(提供解决方案)》redis基本上是高并发场景上会用到的一个高性能的key-value数据库,属于nosql类型,一般用作于缓存,一般是结合数据... 目录缓存异常实践案例缓存穿透问题缓存击穿问题(其中也解决了穿透问题)完整代码缓存异常实践案例Red

SpringCloud整合MQ实现消息总线服务方式

《SpringCloud整合MQ实现消息总线服务方式》:本文主要介绍SpringCloud整合MQ实现消息总线服务方式,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐... 目录一、背景介绍二、方案实践三、升级版总结一、背景介绍每当修改配置文件内容,如果需要客户端也同步更新,