`
netskys
  • 浏览: 48636 次
  • 性别: Icon_minigender_1
  • 来自: 北京
社区版块
存档分类

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

阅读更多
本篇详情 http://java.sharpren.com/read.php?tid=54&page=1&toread=1#tpc 附源码

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

具体是
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>


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

相关推荐

    maven+springside 开发入门

    3. **快速启动**:Springside提供了一套模板项目,可以快速创建一个新的Spring应用,包括Web应用、RESTful服务、数据库访问等。 4. **配置管理**:Springside使用Groovy脚本进行配置,简化XML配置,提高了可读性和可...

    Springside-core-4.1.0/Springside-core-4.1.0

    SpringSide是Java开发中的一款轻量级框架,它基于Spring框架,旨在简化企业级应用的开发流程。本文将深入探讨SpringSide-core-4.1.0的核心特性,以及其在实际项目中的应用。 一、SpringSide概述 SpringSide是一款...

    SpringSide4

    7. **Spring Data访问**:SpringSide4展示了如何整合Spring与各种数据访问技术,如JDBC、Hibernate、MyBatis等,提供统一的数据访问接口和事务管理。 8. **Spring集成其他技术**:SpringSide4还涵盖了Spring与其他...

    SpringSide 2.0中文使用说明

    综上所述,《SpringSide 2.0中文使用说明》涵盖了Spring框架的集成、项目结构设计、构建工具、ORM解决方案、测试策略、RESTful服务、安全控制以及文档支持等多个关键知识点,为Java开发者提供了一套全面的实战指导。...

    SpringSide4 参考手册

    SpringSide是一个开源的Java开发平台,它集成了Spring框架和大量实用的组件,以方便开发人员构建复杂的业务应用。 首先,文档概述了Spring MVC,即Spring的模型-视图-控制器(MVC)框架,它支持Web应用的开发。...

    springside4-4.2.3.GA

    1. **Spring框架集成**:SpringSide深度整合了Spring Framework,包括依赖注入(Dependency Injection)、面向切面编程(AOP)以及数据访问对象(DAO)等核心特性,使得开发者可以充分利用Spring的强大功能。...

    springside3 完整项目实例

    - **代码阅读**:通过阅读项目源码,理解各模块的职责和交互方式,了解 SpringSide3 如何整合 Spring 框架和其他组件。 - **运行和调试**:运行项目,观察控制台输出,调试代码以深入理解业务逻辑和数据流。 - **...

    springside_4jar.rar

    通过运行和调试这些示例,开发者可以深入理解SpringSide 4如何整合Spring、Hibernate、MyBatis等技术,以及如何创建RESTful API、处理异常、进行单元测试等。 7. **文档与社区支持** SpringSide 4拥有详尽的文档和...

    springside4

    3. **数据访问与事务管理**:SpringSide4涵盖了Spring对JDBC、Hibernate、MyBatis等ORM框架的支持,讲解如何进行数据库操作和事务管理,包括DAO设计模式和JPA规范的应用。 4. **AOP与AspectJ**:Spring的AOP模块...

    springside4-master

    在JavaEE领域,SpringSide4-Master涵盖了诸如Hibernate、Struts、JSF等其他主流框架的替代方案,展示了Spring的全面性和兼容性。它还涉及了RESTful API设计、JSON序列化、模板引擎以及前后端分离等现代Web开发技术,...

    springside-3.3.4 源码(无JAR)

    SpringSide 是一个基于 Spring 的轻量级企业应用开发框架,它旨在简化 Spring 的使用,提供了一套最佳实践和快速入门模板。在本文中,我们将深入探讨 springside-3.3.4 版本的源码,理解其设计思想,以及如何利用它...

    有springside4.2.3-GA.jar 包

    SpringSide 4.2.3-GA作为其稳定版本,集成了许多最新的技术和最佳实践,如Spring 4.x,Hibernate 4.x,Guava,SLF4J等,确保了项目的现代化和高效性。 在springside4-4.2.3.GA中,我们可以看到以下主要模块: 1. *...

    springside的一个应用实例

    模型层通常包含业务逻辑和数据处理,SpringSide使用Java Bean作为数据模型,通过Hibernate或MyBatis等持久层框架与数据库交互。控制器层负责接收请求、调用模型并返回响应,SpringSide通过注解驱动的Spring MVC使得...

    Spring side4

    2. MVC模式应用:SpringSide4中,Spring MVC作为Web层的首选框架,展示了如何设计和实现RESTful API,以及如何处理HTTP请求和响应。它还涵盖了视图层的配置,如JSP、Thymeleaf等,以及模型-视图-控制器架构在实际...

    springside3.0.1.zip

    - Spring MVC是Spring框架中的Web层组件,用于构建RESTful风格的Web应用。在源代码中,你可以学习到Controller的定义、模型-视图-控制器间的关系、以及视图解析器的配置。 3. **数据库访问与ORM** - SpringSide ...

    springside4 quickstart

    SpringSide 4的核心组件包括Spring框架、Hibernate ORM、Apache Tiles视图层等。这些组件协同工作,构建出一套完整的应用框架。例如,Spring负责控制反转和依赖注入,Hibernate则处理数据持久化,而Tiles则用于构建...

    springside4-4.1.0.GA

    SpringSide也涵盖了数据访问层的实践,包括JDBC、Hibernate和MyBatis等ORM框架的使用。这些框架简化了数据库操作,使得开发者可以以面向对象的方式处理数据,减少了SQL编写的工作量,同时提供了缓存和事务管理等功能...

    springside-3.2.2-all-in-one.zip

    SpringSide 是一个开源的Java EE开发框架,旨在简化Spring框架的使用,提供一系列最佳实践和模板,帮助开发者快速构建高质量的Java应用程序。SpringSide 3.2.2是该项目的一个稳定版本,包含了完整的功能集合,适合...

    spring side 4

    5. **持久层框架**:SpringSide 4 可能会集成Hibernate或MyBatis等ORM框架,用于数据库操作。这些框架简化了JDBC的使用,使得数据库操作更加直观和高效。 6. **数据访问对象(DAO)和业务服务(Service)**:项目...

Global site tag (gtag.js) - Google Analytics