




版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、第十章 简单工作流系统提纲1 工作流2 需求分析3 架构设计4 提取系统实体-domain5 实现持久层 -dao6 实现业务逻辑-service7 AOP事务管理-AOP8 Quartz任务调度框架9 实现Web层-content10 拦截器系统开发顺序1、通过需求明确功能2、选定开发框架:SSH框架,画系统结构图3、确定开发模式:贫血模式3、确定系统组件:DAO和业务逻辑类4、确定持久化类及其关联关系,画类图5、编码1 工作流 工作流:企业或组织日常工作的固定流程,比如审核、报关等。 工作流是完全自动化的流程,避免了人工,可提高效率。工作流系统简介 本系统是一个简单的工作流系统,主要包含三
2、个日常业务: 日常考勤 工资结算 签核申请 用户有二类: 普通员工:系统自动完成考勤记录;查看考勤记录;提出申请;查看工资 经理:包含普通员工的所有功能(除申请外);签核员工申请;新增员工查看;查看员工上月工资系统结构图 系统分为六层: 表现层:由JSP页面组成 MVC层:使用MVC框架 业务逻辑层:由SpringIoC容器管理 DAO层:7个DAO组件 领域对象层:7个持久化对象 数据库服务层:使用MySQL存储使用技术 SSH版本:Struts2.3+Spring4.0+Hibernate4.3 表现层技术:JSP, php MVC框架:Struts 容器:Spring 持久化:Hiber
3、nate二种开发模式 贫血模式-在持久化类中没有业务逻辑 富领域模式-在持久化类中加入了业务逻辑 本书采用第一种系统组件 二个功能模块:经理模块、员工模块 七个DAO对象 ApplicationDao-对application_inf表操作 AttendDao-对attend_inf表操作 AttendTypeDao-对attend_type_inf表操作 CheckBackDao-对checkback_inf表操作 EmployeeDao-对employee_inf表操作 ManagerDao-对employee_inf表中的经理操作 PaymentDao-对payment_inf表操作 二
4、个业务逻辑组件 EmpManager-对员工角色提供业务逻辑功能的实现 MgrManager-对经理角色提供业务逻辑功能的实现持久层 7个持久化类: Application-普通员工考勤申请 Attend-考勤记录 AttednType-考勤类别 CheckBack-申请批复 Employee-员工信息 Manager-经理信息,继承Employee类 Payment-薪水信息持久化类间的关联关系 Employee是Manager的父类,存在N-1关联 Employee与Payment是1-N关联 Employee与Attend是1-N关联 Manager与CheckBack是1-N关联 Ap
5、plication与Attend是N-1关联 Application与AttendType是N-1关联 Attend与AttendType是N-1关联PO类关系图系统实现(1)创建持久化实体类(非final类)(2)实现DAO层(3)实现Service层(4)任务自动调度(5)实现Web层(1)创建持久化实体类注:要是非final类 加入表声明注解Entity,Table. 加入属性关联注解ID,ManyToOne,JoinColumn/JoinTable. 无参构造方法 set/get方法 重写equqls()和hashCode()方法 选择继承策略-整个类层次对应一个表,所有列都不能有非空
6、约束(查询性能最好)(2)实现DAO层 DAO是桥接模式的应用 DAO的实现包括以下三部分: DAO工厂类将通用操作放在模板内(BaseDao) DAO接口-抽象出数据访问方式(AttendDao) DAO接口的实现类-具体实现方法(AttendDaoHibernate4) DAO的通用方法: get(), save(),update(),delete(),findall() 部署DAO层 配置数据源,hibernate,DAO组件:daoContext.xml(3)实现Service层 二个业务逻辑接口是DAO的门面,即业务逻辑组件需要依赖DAO组件 主要方法有: validLogin(),
7、 autoPunch(), autoPay(), validPunch(), punch(), empSalary(), unAttend(), getAllType(), addApplication(), list(), 二个业务逻辑实现类 EmpManagerImpl:属性包括7个DAO组件 其中二个auto方法是自动执行的 通过AOP配置事务增强处理 配置文件:applicationContext.xml(4)任务自动调度 /downloads/最新版是2.2.2 添加到classpath和path中,拷贝到web-infli
8、b下 配置perties文件(放在src目录下) 作业存贮方式: RAMJobStore利用内存保存调度程序信息(推荐) JDBC方式用后台数据库保存调度程序信息 作业类需要实现Job接口,写execute()方法,会自动运行 触发器:SimpleTrigger简单时间调度和CronTrigger更复杂调度 调度器用于将任务与触发器关联,多对多方式,由Scheduler接口体现,方法有:addJob(), scheduleJob()加入到Maven中 org.quartz-scheduler quartz 2.2.1 org.quartz-scheduler quartz-
9、jobs 2.2.1 (5)实现Web层 配置web.xml 加入struts监听 加入Spring监听 加入Spring配置文件位置 自动装配方式byName:Action中有一个setXX()方法,在Spring中有一个Bean的id=XX,则该Bean实例会自动装配给该Action 二个Action:EmpBaseAction和MgrBaseAction 页面输入校验文件:XXX-validation.xml 页面错误时信息保存,使用拦截器配置:struts.xml 权限管理,增加拦截器代码:XXInterceptor.javaSpring中使用Quartz框架 创建Quartz的作业B
10、ean: 利用JobDetailBean包装QuartzJobBean子类的实例,必须要继承QuartzJobBean抽象类,实现executeInternal()方法 利用MethodInvokeingJobDetailFactoryBean工厂包装普通Java对象,配置时指定二个属性:targetObject, targetMethod 定义触发器Bean(写appliationContext.xml) 使用SchedulerFactoryBean调度作业(写.java)系统开发顺序1、通过需求明确功能2、选定开发框架:SSH框架,画系统结构图3、确定开发模式:贫血模式4、确定系统组件:DAO和业务逻辑类5、确定持久化类及其关联关系,画类图
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 《汉语阅读教程》课件-23汉语阅读教程2上课件L23
- 2025年建筑行业企业农民工劳动合同协议书模板
- 原藻病的临床护理
- 中枢神经系统畸形的临床护理
- 2025劳动合同范本全文
- 2025公司违约解除合同赔偿
- 2025照明工程项目合同范本
- 2025年教师资格之小学教育教学知识与能力考前冲刺模拟试卷B卷含答案
- 2025年健康管理师之健康管理师三级全真模拟考试试卷B卷含答案
- 《教学管理解析》课件
- 消防安全培训课件讲稿
- 四川省乐山市(2024年-2025年小学六年级语文)部编版期末考试((上下)学期)试卷及答案
- 2025届徐州市高考英语二模试卷含解析
- 《延续性护理在永久性肠造口患者中的应用研究》4600字(论文)
- 康复人才培养
- 建设工程消防验收现场评定工作报告(第三方机构模板)
- 正确认识孩子性格特
- 《智能建造技术与装备》 课件 第十章 智能施工与智慧工地
- 物业环境部培训课件
- 如何培训加油站站长
- 钢结构大棚安拆专项施工方案
评论
0/150
提交评论