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

相关文章

使用Java将DOCX文档解析为Markdown文档的代码实现

《使用Java将DOCX文档解析为Markdown文档的代码实现》在现代文档处理中,Markdown(MD)因其简洁的语法和良好的可读性,逐渐成为开发者、技术写作者和内容创作者的首选格式,然而,许多文... 目录引言1. 工具和库介绍2. 安装依赖库3. 使用Apache POI解析DOCX文档4. 将解析

Java字符串处理全解析(String、StringBuilder与StringBuffer)

《Java字符串处理全解析(String、StringBuilder与StringBuffer)》:本文主要介绍Java字符串处理全解析(String、StringBuilder与StringBu... 目录Java字符串处理全解析:String、StringBuilder与StringBuffer一、St

springboot整合阿里云百炼DeepSeek实现sse流式打印的操作方法

《springboot整合阿里云百炼DeepSeek实现sse流式打印的操作方法》:本文主要介绍springboot整合阿里云百炼DeepSeek实现sse流式打印,本文给大家介绍的非常详细,对大... 目录1.开通阿里云百炼,获取到key2.新建SpringBoot项目3.工具类4.启动类5.测试类6.测

Spring Boot循环依赖原理、解决方案与最佳实践(全解析)

《SpringBoot循环依赖原理、解决方案与最佳实践(全解析)》循环依赖指两个或多个Bean相互直接或间接引用,形成闭环依赖关系,:本文主要介绍SpringBoot循环依赖原理、解决方案与最... 目录一、循环依赖的本质与危害1.1 什么是循环依赖?1.2 核心危害二、Spring的三级缓存机制2.1 三

在Spring Boot中浅尝内存泄漏的实战记录

《在SpringBoot中浅尝内存泄漏的实战记录》本文给大家分享在SpringBoot中浅尝内存泄漏的实战记录,结合实例代码给大家介绍的非常详细,感兴趣的朋友一起看看吧... 目录使用静态集合持有对象引用,阻止GC回收关键点:可执行代码:验证:1,运行程序(启动时添加JVM参数限制堆大小):2,访问 htt

SpringBoot集成Milvus实现数据增删改查功能

《SpringBoot集成Milvus实现数据增删改查功能》milvus支持的语言比较多,支持python,Java,Go,node等开发语言,本文主要介绍如何使用Java语言,采用springboo... 目录1、Milvus基本概念2、添加maven依赖3、配置yml文件4、创建MilvusClient

浅析Java中如何优雅地处理null值

《浅析Java中如何优雅地处理null值》这篇文章主要为大家详细介绍了如何结合Lambda表达式和Optional,让Java更优雅地处理null值,感兴趣的小伙伴可以跟随小编一起学习一下... 目录场景 1:不为 null 则执行场景 2:不为 null 则返回,为 null 则返回特定值或抛出异常场景

SpringMVC获取请求参数的方法

《SpringMVC获取请求参数的方法》:本文主要介绍SpringMVC获取请求参数的方法,本文通过实例代码给大家介绍的非常详细,对大家的学习或工作具有一定的参考借鉴价值,需要的朋友可以参考下... 目录1、通过ServletAPI获取2、通过控制器方法的形参获取请求参数3、@RequestParam4、@

SpringBoot应用中出现的Full GC问题的场景与解决

《SpringBoot应用中出现的FullGC问题的场景与解决》这篇文章主要为大家详细介绍了SpringBoot应用中出现的FullGC问题的场景与解决方法,文中的示例代码讲解详细,感兴趣的小伙伴可... 目录Full GC的原理与触发条件原理触发条件对Spring Boot应用的影响示例代码优化建议结论F

springboot项目中常用的工具类和api详解

《springboot项目中常用的工具类和api详解》在SpringBoot项目中,开发者通常会依赖一些工具类和API来简化开发、提高效率,以下是一些常用的工具类及其典型应用场景,涵盖Spring原生... 目录1. Spring Framework 自带工具类(1) StringUtils(2) Coll