基于S2SH银行帐户管理系统的设计与实现

2023-01-25

1 引言

银行业务是大型的应用系统, 随着人们生活节奏的加快, 对金融的业务需求也在不断地发生变化, 目前大部分银行系统都采用传统的J2EE框架技术, 大量的EJB组件使得系统的开发周期长, 不利于维护和扩展。考虑到这些缺陷, 开发人员设计出了各种轻量级框架, 如:Struts、Spring、Hibernaet等。但这些框架不能满足所有的开发需求, 只有将它们进行整合才能更大限度地提高软件开发的质量和效率。

2 Struts2、Spring、Hibernate介绍

2.1 Struts2框架

Struts2是在Struts1和Webwork的基础上发展起来的, 主要用于表现层的实现, 完成页面显示、响应用户请求等功能。它是MVC设计模式的具体实现, 贯穿于整个开发过程, 控制器由核心控制器和拦截器组成, 模型由业务控制器完成, 视图由JSP文件和Struts2标签组成, 具体处理步骤是:核心控制器拦截客户端的所有请求, 并将请求转发给拦截器处理, 根据拦截器处理的结果执行某个Action或者阻止Action的执行, 最后根据配置文件决定调用某个视图文件响应给客户端。选用Struts2的优势在于降低了视图层、控制层之间的耦合度, 快速部署, 简单易用。

2.2 Spring框架

Spring框架是解决企业应用程序开发的复杂性方案, 主要负责业务逻辑层的设计与实现, 由七个模块组成, 分别是Spring AOP、Spring ORM、Spring Web、Spring MVC、Spring DAO、Spring Context、Spring Core Container, Spring是一个非侵入式框架, 开发者可以根据开发需求选择任意模块进行开发。在以上七个模块中, 核心是Core Container和AOP, Core Container提供IoC (控制反转) 容器支持, 降低业务对象之间的依赖关系;AOP是面向方面编程, 是OOP的补充和完善, 简化系统需求和实现之间的对应关系。

2.3 Hibernate框架

Hibernate主要负责持久层的框架, 支持ORM技术的轻量级开源框架, 利用配置文件将持久化类和数据库表建立映射, 通过面向对象的方法就可以实现对数据库表中的数据进行增、删、查、改操作。

3 Struts2+Spring+Hibernate整合体系结构

3.1 整合原理

表现层由Struts2负责, 包括视图文件和核心控制器, 用于拦截用户的请求, 并调用业务逻辑层的业务控制器进行处理;业务逻辑层由Struts2和Spring负责, 包括业务控制器、DAO接口、DAO接口的实现类, Spring是整个系统的核心, 向上集成Struts2, 完成业务逻辑请求的处理, 向下集成Hibernate, 通过DAO调用持久层的组件进行操作;数据持久层由Spring和Hibernate完成, 包括模型、映射文件以及数据库层, 进行对象到关系数据库的是映射操作。

3.1.1 Struts2与Spring整合

安装Struts2的Spring插件, 在web.xml文件中使用listener来初始化Spring容器。Spring的初始化建立之后, Strut2的Action就可通过自动装配策略来访问Spring容器中的Bean。

3.1.2 Spring与Hibernate整合

Spring通过LocalSessionFactoryBean类, 可以将Hibernate的SessionFactory纳入其IoC容器内, 实现与Hibernate的整合。在Spring配置文件applicationcontext.xml中定义以下信息:

(1) 定义数据源, 指定连接数据库的驱动、用户名、密码等信息。

(2) 使用LocalSessionFactoryBean配置SessionFactory对象, 指定映射文件。

(3) 指定对象映射文件。

(4) 把SessionFactory注入给HibernateTemplate。

(5) DAO组件需要注入给SessionFactory工厂。

(6) Action注入给DAO。

4 S2SH架构的银行帐户管理系统的实现

本系统由前台和后台两部分组成, 前台主要是银行客户操作模块, 后台是银行工作人员 (银行业务员、银行经理、超级管理员) 操作模块, 根据上面介绍的三个轻量级框架来构建, 分别从表现层、业务逻辑层、数据持久层来进行介绍。

4.1 表现层的实现

表示层的作用一方面是接收用户的请求, 另一方面是将结果视图返回给客户端。期间涉及到拦截器对访问权限的控制, 对客户端的输入数据进行验证、输出页面的国际化等功能, 本系统表示层由Strut2负责, 主要组成部分有核心控制器、拦截器、视图部分和输入数据的验证。

通过web.xml文件来加载Struts2框架。定义核心控制器, 用于拦截用户的所有请求, 使Struts2就整合到web应用中。

Struts.xml配置文件负责管理请求与Action, 该配置文件是Struts2的核心, 可以把Struts2框架中的MVC的各部分联系起来, 指明请求所对应的Action类和Action处理结束后跳转的逻辑视图资源文件。

本系统创建拦截来检查当前银行客户是否已经登录, 只有对登录了的客户才具有操作权限, 对于未登录的客户禁止访问该网页, 返回到登录页面。

4.2 业务逻辑层的实现

业务逻辑层是整个系统的核心部分, 主要由Struts2和Spring实现。通过Struts.xml配置文件来调用相应的Action组件来对用户请求进行处理, 调用DAO接口定义的方法完成数据持久操作。业务逻辑层接受从表示层输入的用户请求, 将其转化为业务逻辑过程能够理解的方式, 根据特定的业务逻辑有序地向数据层发送数据请求, 并将数据层返回的数据解释及组合成用户所需信息, 返回给表示层。

4.3 数据持久层的实现

数据持久层实现关系数据库的面向对象操作, 支持多种关系数据库, 它被单独划为一层的好处在于其修改对其它层不会造成影响。采用Hibernate框架, 通过映射文件和配置文件将数据库表和普通的Java类建立映射关系。该层包括配置文件, 持久化类和hbm.xml映射文件。

5 结论

本系统是采用目前比较流行的S2SH框架对银行帐户管理系统的开发与实现, 以MyEclipse6.5作为开发工具, Struts2负责web表示层的开发, Struts2与Spring负责业务逻辑层, 由容器进行业务对象的管理, Hibernate和Spring负责持久层, 让整个应用系统层次清晰, 可读性较好, 降低了耦合度, 同时也便于系统的维护和扩展, 这种轻量级组合架构在Web开发中具有广阔的发展空间。

摘要:随着计算机技术和信息技术的快速发展, 人们对应用系统的伸缩性、易维护性和扩展性要求越来越高。本文以银行帐户管理系统为背景进行开发和实现, 体现了S2SH (Struts2+Spring+Hibernate) 框架的整合降低了Web应用中各层间的耦合度, 结构清晰, 提高了应用系统的灵活性。

关键词:Struts2,Spring,Hibernate,整合框架

参考文献

[1] 李华飚, 李水根, 郭英奎等, 精通Java中间件编程, 中国水利水电出版社, 2003.

[2] 李晓锋, 基于轻量级J2EE的web电子邮件系统的实现, 西安电子科技大学, 2008.

[3] 杨鸲, 赵树刚, Java高手真经 (系统架构卷) , 电子工业出版社, 2009.

本文来自 99学术网(www.99xueshu.com),转载请保留网址和出处

上一篇:铅球教学中实施研究性教学的教学模式研究下一篇:不同贮藏温度和含水量对大豆种子的活力影响分析