基于SpringMVC和Hibernate的企业人事管理系统

2016-03-22 13:35郑洁钱育蓉范迎迎
电脑知识与技术 2016年2期
关键词:扩展性安全性

郑洁 钱育蓉 范迎迎

摘要:办公自动化是我国企业人事管理的未来趋势,该研究基于springMVC和hibernate框架实现了企业人事管理系统的设计和运用。针对Web应用在单一框架上进行构建存在着的扩展性差等问题,本研究通过采用SpringMVC和hibernate的框架整合技术帮企业提高生产效率。并在系统中建设保证企业数据的安全性,使之更合理地制定相关的人事信息。

关键词:人事管理系统;springMVC;hibernate;安全性;扩展性

中图分类号:TP315 文献标识码:A 文章编号:1009-3044(2016)02-0015-03

Abstract: Office automation is the trend of enterprise personnel management of our country in future.This research implement the design and application of enterprise personnel management based on SpringMVC and Hibernate. For the construction of the web application in single framework existing the problem of poor scalability and other issues, this research use the framework integrating technology of SpringMVC and Hibernate to improve enterprise productivity and ensure the security of enterprise data,which help enterprise more reasonably formulate relevant personnel information.

Key words: personnel management system; springMVC; hibernate; security; expansibility

1 背景

在企业中,人事管理是企业管理中的重点,同时需要与其他部门进行协同工作,数据共享,并为决策者提供全面准确的数据和实时分析从而提高人事管理[1]。以前的人事管理都是人工进行,但随着企业数据复杂性和数量的增加,人事管理的工作量也在不断增加。本研究的人事管理系统主要是为了能够让用户使用计算机对人事资料进行管理,以减轻人工的压力和投入,其优点有查找方便、可靠性高、保密性好、成本低、数据安全性等[2],并保证管理工作数据的准确性和安全性,提高工作效率。

本研究在软件技术方面,选择了流行的MyEclipse作为开发环境,使用MySql数据库存储数据。同时采用流行的SpringMVC和hibernate框架来进行系统设计,采用这种开发模型,模型层只需很少的改动,并且数据库的变化也不会对前端有影响,大大提高了系统的可复用性。而且由于不同层之间耦合度小,大大提高了开发效率。

1.1 Spring MVC

Spring 框架是一个分层架构,由核心容器、Spring上下文、SpringAOP、Spring DAO、Spring ORM、Spring Web 模块、SpringMVC 七个模块构成[3]。作为Spring框架的一个重要组成部分,SpringMVC实现了MVC的核心概念,它为控制器和处理程序提供了大量与此模式相关的功能[4]。并且使用Spring 提供的AOP 技术,使监控和拦截功能可以更方便地使用,并且降低了组间的耦合度,使得编码更为简单。

SpringMVC框架主要由DispatcherServlet、处理器映射、处理器(控制器)、视图解析器、试图组成。SpringMVC分离了控制器、模型对象、分派器以及处理程序对象的角色,这种分离使得应用程序更容易进行定制[5]。这样的架构,可以帮助开发人员在短期内搭建结构清晰、可复用性好、维护方便的Web应用程序。

1.2 数据持久层Hibernate

Hibernate 处于我们项目持久层的位置,并且对JDBC 进行了轻量级的封装[6]。应用程序对象由Hibernate 在数据库中存储,使Hibernate的开发者不必编写大量的代码来存储和检索对象[7]。Hibernate把底层的数据库操作遮蔽了起来,使程序员在实现数据库系统的更换时,不必修改后台的代码,提高了程序开发的效率。

2 系统设计

2.1 系统功能模块设计

企业人事管理是按照员工、管理员两种不同角色来划分功能模块。员工主要操作的功能有:工资管理、培训管理、档案管理等,主要是对于员工自己的工资、培训、奖惩、考勤进行管理,员工只有查看和查找的权利,没有修改的权利,如果在工资、考勤等数据方面出现错误,只有具有特定权限的管理员才能进行处理,员工不能随意更改,以防止员工的随意更改造成的一些不必要的麻烦。

在系统中以管理员身份登录的用户,称为管理员。管理员主要负责维护该系统、管理人员信息和监督人员操作。而管理员又根据其被分配的权限拥有不同职责,各司其职,比如有的管理员无法对操作记录、权限管理或员工部分信息进行操作,只有少数管理员拥有对其他管理员的权限管理。

管理员和员工进入系统就会看到通知布告,有通知布告管理权限的管理员可以根据当天的实际情况添加新的内容概要,比如新闻时事或者是公司放假、开会、最新成果等,以便使企业中的全部人员都可以准确及时的收到信息,方便消息传递。并且在档案管理中,管理员可以上传相应员工的照片和文件,方便以后查看和查找。系统的具体功能模块如图1所示。

2.2 数据库设计

对于本研究的系统,经过进行仔细地分析后,抽象出了档案信息、工资信息、权限信息、签到信息、培训信息、通告信息等实体,以及各个实体具有的属性。许多表由于属性太多,标示图之间的关系时会出现一些困难,所以在这里会略掉一些。并用PowerDesigner进行了该系统的概念数据模型(CDM)设计,并在画出概念模型后,通过PowerDesigner工具生成数据库管理系统的物理数据模型(PDM),然后生成相应的数据库语句,如图2所示得出了系统数据库的E-R图。

在这些表中用户表和大多数表相连,它是登录和判断管理员权限的重要依据。考勤中的签到判断是根据上班时间来判断的,有迟到、签到、早退三个记录。而上班时间由具有相应权限的管理员在系统功能中进行设置,并不是固定的。用户的相片在数据库中存放的是图片地址,然后在Web页面显示出来。

3 系统核心设计和实现

3.1 系统数据安全备份

企业人事管理系统中的数据是非常重要的,如果系统数据意外丢失,会对企业运作造成非常不好的影响。所以在本研究系统中的数据备份模块设计了数据库数据的导入和导出,数据的导出生成含有sql语句的文本文件,如果因为某些意外情况数据丢失,管理员进入数据备份页面,点击导入按钮,导入数据,避免对企业造成严重的损失。数据库导入导出的思想主要是通过Java代码来实现命令窗口的调用执行MySQL导入导出的命令。

3.2 数据的审计跟踪

数据的审计跟踪是为了监视管理员和员工进行的操作而设计的,为了防止管理员对员工的信息进行有意的错误操作或者失误的操作,那么在进行追究责任时就需要查看操作记录,来予以处罚或警戒。一般不建议给大部分管理员分配操作记录管理的权限,以免对其本身的有意的错误记录进行修改,一般是由少数权利比较大的管理员进行使用。

数据的审计跟踪使用了Spring的AOP进行实现,用来进行消息的截取。在使用AOP前需要进行配置相应的配置文件,并引入AOP架包。切入点的概念是AOP的关键,它提供声明式事务管理可以应用于一组想要对多个对象进行操作的方法。它的通知类型包括Around、After、Before、Throws,使用者可以根据自己需要来进行选择。在本文系统使用AOP,在一个方法中通过拦截多个类的行为操作,把管理员或员工对系统操作,例如管理员修改员工工资、管理员增删改查员工信息等都记录下来,并且可以对操作行为进行模糊查询和时间查询。有利于规范和监督管理员或员工的行为,使用AOP减少了代码的冗余和维护难度。其核心代码如下:

3.3 员工工资报表生成

员工工资数据是企业的重要数据,对企业工资调整和执法部门进行审查时,都有着重要的意义。本文系统使用POI中HSSF方式生成员工工资的Excel表,可以导出系统中经过模糊条件查找得到的员工的Excel工资表,如某一部门的工资报表或者个人的工资表,也可以导出所有员工的工资报表,方便企业管理者进行审查。除了POI中HSSF方式外,Java中 的Jxl方式也可以操作Excel,它是一个开源的Java API。但是相比较而言,POI虽然没有Jxl简单,但POI的功能比较强大。主要步骤如图3:

4 结束语

本研究中的企业人事管理系统通过数据备份、数据审计追踪等操作,使企业的数据信息能够安全有效进行操作,避免数据丢失给企业造成的损失。并且使用springMVC和hibernate框架,使整个系统易于扩展和维护,降低系统的维护成本。本研究中的系统不仅仅可以公司的管理效率,而且可以帮助领导人为企业制定合理的经营方针与决策,为公司带来更大利益。

参考文献:

[1] 企业人事管理系统的设计与实现[J]. 企业技术开发, 2015(12): 1006-8937.

[2] 吕俊瑞, 罗学刚. 基于 SSH 的高校人事管理系统的设计与实现[J]. 电脑知识与技术, 2010(6): 5157-5159.

[3] 张瑞青, 李铁柱. 基于 SpringMVC 的用户登录系统的设计与实现[J]. 科技信息, 2012(10): 246-247.

[4] 薛峰, 梁锋. 基于Spring MVC框架的Web研究与应用[J]. 合肥工业大学学报, 2012(03).

[5] 陈辉, 赵洪升, 张艳春.Struts + Spring + Hibernate 框架的整合实现[J]. 河南大学学报:自然科学版, 2010(6): 642-645.

[6] 赵喆, 卞艺杰, 李亚冰, 等. S2SH 和SOA 科技查新管理平台的设计[J]. 武汉理工大学学报:信息与管理工程版, 2013(1): 56-60.

[7] 万伟韬. 轻量级J2EE中整合Struts、Spring、Hibernate的研究与分析[J]. 计算机光盘软件与应用, 2013(22): 83-84.

[8] 董海燕. 基于JSF、Spring 和 Hibernate的技术资料综合管理系统设计[J]. 计算机应用与软件, 2012(5): 212-215.

[9] 王佳康, 李明, 买尔夏提﹒尔肯. 基于SpringMVC 架构的旅游攻略 网站前台的设计与实现[J]. 电脑知识与技术, 2015(8).

猜你喜欢
扩展性安全性
米氮平治疗老年失眠伴抑郁症的疗效及安全性
提高初中阶段学生英语扩展性阅读能力策略分析
警察即时强制法律规范及其完善研究
ApplePay横空出世 安全性遭受质疑 拿什么保护你,我的苹果支付?
网络教学平台的扩展性研究
Imagination发布可实现下一代SoC安全性的OmniShield技术