基于springside构建:
包结构说明:
Utils中存放系统公用类,其中SysConstants类存放系统常量。
Workflow包存放与工作流相关的信息,包含jpdl文件,流程授权类,流程监听类等。
系统整体层次结构:
POJO:采用注解形式,具体可以参照系统中已有的entity中的注解。
DAO :处理与数据库交互的功能 所有DAO的基类为HibernateDAO<Entity,Long>
基于泛型,使用注解形式将其注册为bean。所有类名上面加上注解:@Repository,不需要接口类,通常情况下DAO不需要写任何代码,因为多数查询,修改,删除方法其父类已经提供。
SERVICE:事务管理,业务过程,系统核心业务逻辑所在 由spring 管理事务 使用spring注解将其注册为bean,所有类名上面加上:
@Service
@Transactional
为了减少类的数量,通常是一种业务过程对应一个Manager,比如系统的安全模块对应一个Manager,而不是一个业务实体对应一个Service,当然,这由你自己根据实际进行决定。
仍然采用IoC的形式获取其它的bean,只需要将你的bean 加上注解:@autowired即可。 spring会根据类的类型进行注入。
通常情况下Service也不需要接口。
Action:MVC采用struts2,所有Action的基类为CrudActionSupport<T > 同样是基于泛型。
注意:所有action方法的返回结果值通常情况下是一致的:比如
查询(方法名为list )跳转返回 SUCCESS
添加或者修改 (方法名为input)跳转返回 INPUT;
添加或修改(方法名为SAVE)成功或者delete(方法名为delete)后返回RELOAD
同样Action中对manager的注入是采用 @autowired 不需要get/set方法。
注意:为了保证代码的一致性,请不要在Action中直接注入DAO 而且DAO是不在事务管理中的。
系统查询功能的实现:
系统查询的功能由springside实现,可以不限字段,不限条件,而且不需要自己拼写SQL语句:具体方法为:
在查询页面上写查询字段,比如<input type=”text” name=” filter_EQS_name” value="${param[' filter_EQS_name ']}" >
关键是这个name:filter_EQS_name 其中filter为固定前缀,EQ表示equals,代表SQL语句中的”=” ,当然还有LIKE,LT,GT,LE,GE。”S”代表你的这个字段为String类型,还可以写I(Integer),N(Double),D(Date)等,注意:Double类型为N!最后为你的字段在hibernate POJO中的字段名。
如果你想这个查询框既可以根据字段1模糊查询,也可以根据字段2模糊匹配,你可以这么写:name=”filter_LIKES_NAME_OR_EMAIL_OR_LOGINNAME”
在Action中你需要写:
List<PropertyFilter>
filters = HibernateWebUtils.buildPropertyFilters(Struts2Utils.getRequest());//收集查询条件
调用你Manager中的search方法,你的search方法大约会是这个样子:
@Transactional(readOnly = true)
public Page<User> searchUser(final Page<User> page,
final
List<PropertyFilter> filters) {
return userDao.findPage(page, filters);
}
这个方法连分页也包含了。
系统分页功能的实现:
在查询页面上你需要写上:
查询form的name为:mainForm
在form中写入:
<input type="hidden"
name="page.pageNo" id="pageNo" value="${page.pageNo}"/>
<input type="hidden"
name="page.orderBy" id="orderBy" value="${page.orderBy}"/>
<input type="hidden"
name="page.order" id="order"
value="${page.order}"/>
然后
通常在form的结束之前导入:<%@ include file="/common/pages.jsp" %>
页面部分即结束:
在Action中加入全局变量:
private Page<T> page = new Page<T>(); 加入get/set方法
如果你想在查询之前根据某字段进行排序,你可以在查询之前写上:
if (!page.isOrderBySetted()) {
page.setOrderBy("id");
page.setOrder(Page.ASC);
}
然后在查询时将page对象传入即可。
未完待续....
- 大小: 6.3 KB
- 大小: 5 KB
- 大小: 62.3 KB
分享到:
相关推荐
《系统设计说明书》参考模版2 系统总体设计 1 2.1 系统运行环境 1 2.2 系统结构图 2 2.3 系统运行图 2 2.4 系统部署 2 2.5 非功能特性设计 2 2.6 系统兼容性 2 3 业务基础件概要设计 2 3.1 设计总揽 2 3.2 XXX业务...
《医院信息系统设计说明书》是关于构建高效、智能化的医疗信息化平台的专业文档,旨在为系统设计者提供详尽的指导和参考。这篇说明书涵盖了医院信息系统的各个关键组成部分,以及设计过程中的考虑因素,对于理解医疗...
成本核算系统设计说明书 1 引言 1 1.1 编写目的 1 1.2 读者对象 1 1.3 文档编写说明 1 1.4 项目背景 1 1.5 基本定义 1 1.6 参考资料 1 1.7 变更历史 1 2 任务概述 2 2.1 目标 2 2.2 ...
《XXXXX 系统设计说明书》是一份详细阐述系统构建规划和执行的文档,它为项目的实施提供了清晰的蓝图和指南。本说明书旨在确保所有相关人员对系统的理解一致,以提高开发效率并降低风险。 第一章 前言 1.1 文档目标...
### 系统详细设计说明书知识点...综上所述,《系统详细设计说明书》是一份非常重要的文档,它不仅详细地描述了系统的设计思路和技术实现细节,还为开发团队提供了明确的指导方向,是确保软件项目成功的关键因素之一。
系统设计中,业务流程图是一个关键部分,它帮助分析并可视化了物业管理的主要业务流程,包括住户信息处理、费用管理、投诉处理等。ER图设计则是为了详细地描绘数据库中的实体以及这些实体之间的关系,从而为数据库...
《银行信息系统设计说明书》是针对金融行业中至关重要的银行信息系统的深度解析文档,旨在阐述系统的设计原理、架构、功能模块以及实施策略。这份毕业设计聚焦于信息管理,揭示了银行信息化建设的关键技术和实践方法...
### 京东挡板系统设计说明书V0.1 版本知识点总结 #### 一、需求理解及需求列表 京东挡板系统(代号为Thor),旨在解决外部系统接口不稳定问题,确保业务系统的正常运行。该系统的核心功能在于模拟外部系统的接口...
酒店餐饮服务管理系统设计说明 hotel Catering Service Management System design explanation 酒店餐饮服务管理系统的设计是为了解决酒店餐饮服务管理中的问题。随着计算机在生活中的地位日益重要,酒店餐饮服务...
小型自选商场综合管理系统设计说明书是一份关于设计小型超市管理系统的文档,该系统旨在帮助小型超市更好地管理商品、库存、客户等信息。下面是从该文档中提取的相关知识点: 1. 系统设计目的和意义: 小型超市管理...
保险业务管理系统功能设计说明书 保险业务管理系统是一个复杂的系统,涵盖了保险业务的各个方面。为了帮助用户更好地理解和使用该系统,本文档将对保险业务管理系统的功能进行详细的设计说明。 1. 系统功能概要 ...
总结来说,10计划系统设计说明书详尽地描绘了系统的各个组成部分及其功能,旨在打造一个高效、灵活且满足客户需求的综合服务平台。通过不断优化和扩展,该系统将有力推动58.com的业务发展和用户体验提升。
网上超市系统设计说明书详细阐述了如何构建一个高效、便捷的在线购物平台,旨在为学习软件工程的学生提供实践指导。这份说明书由一组计算机科学与技术专业08-2班的同学完成,他们在赵宝琴老师的指导下,共同研究并...
编写本设计说明书的主要目的是为系统设计人员提供一个清晰的框架,用于理解和实现软件系统的各个组成部分,确保系统设计的合理性、高效性和可维护性。 1.2 预期读者 本文档面向的读者包括项目经理、系统设计师、...
服装管理系统设计说明书主要涵盖以下几个方面的知识点: 一、系统开发背景 在服装行业中,高效、准确的库存管理和销售数据跟踪是企业运营的关键。随着信息化技术的发展,传统的手工管理方式已无法满足现代服装企业...
《银行业务管理系统设计说明书》是一份详尽的文档,旨在为银行系统开发团队提供清晰的指导,确保系统设计满足业务需求。这份文档由一个学生团队共同完成,成员分工明确,涵盖了系统设计的多个方面。 1. 引言部分...
《医疗保险管理系统设计说明》 本设计报告主要针对北京信息科技大学信息管理学院的“信息系统分析与设计”课程,针对医疗保险管理系统的企业版进行详细的设计说明。该系统旨在为医保中心、企业和定点医院提供高效、...
信用卡管理系统软件系统设计说明书概述了信用卡管理系统的详细设计与架构,旨在为开发团队提供一个清晰的设计蓝图,确保系统能够高效、稳定地运行。该文档详细介绍了系统的各个层面,包括高层设计、具体模块设计、...
银行业务管理系统数据库设计是构建高效、稳定、安全的金融信息系统的关键步骤。这个系统涉及到多个核心实体,如部门、员工、客户、联系人、支行、账户和贷款,以及它们之间的复杂关系。下面我们将详细探讨这些实体和...