陈钊
摘要:传统企业级应用程序开发主要依托SSH框架,但由于SSH框架中国Struts层面过多、Hibernate批量数据处理能力较弱,在批量对象代码增删查改、功能响应方面,不如“JSP+JAVAbean”更加方便简洁。这一情况下,基于JAVA语言汇编的SSM框架,在web应用系统程序中的开发使用,可以通过Spring+SpringMVC+Mybatis(SSM)的开发框架组合,由Aop提供切面编程、SpringMVC方法拦截,对系统不同层级作出分离定制、业务功能调优,大幅度提升代码复用率、可维护性。
关键词:SSM框架;Web应用开发;设计;实现
中图分类号:TP393 文献标识码:A
文章编号:1009-3044(2021)10-0226-02
1 SSM框架技术的主要内容分析
1.1 Spring框架技术
Spring是为解决企业复杂性应用程序开发,而创建的开源框架,其分层架构内包含核心容器、Spring AOP、Spring DAO、Spring ORM、Spring Web等组成模块,分为表现层、业务层、持久层等框架整合资源,组成架构如图1所示。利用MetaData指定系统Bean应用后台对象进行实例化、配置和组装,以上控制反转IOC操作,均在Spring容器框架中完成[1-2]。
首先核心容器借助于BeanFactory工厂模式组件,负责应用程序的Bean对象配置和依赖性规范,读取如何创建bean、bean生命周期、bean依赖等定义信息,通过new关键字将Bean对象进行实例化,并将Bean应用组件模型,与实际的应用程序代码分开。之后Spring AOP模块主要功能为,将面向切面编程机制的配置管理集成到Spring框架之中,可以更加方便快捷为系统应用程序的Bean对象,提供事务管理服务。
而Spring DAO作为Spring框架的抽象层,则是利用面向JDBC的异常层次结构,针对应用程序开发异常执行信息、数据库错误消息做出简化处理,降低程序编写异常、代码执行错误的概率。随后Spring ORM模块位于Spring DAO的上一层,其提供一个简化JDBC API操作框架,对包含Hibernate、iBatis SQL Map和JDO等对象关系工具,提供技术实现的集成支持。最后Spring Web模块,是建立在应用程序Spring上下文配置文件中的模块,用于多种代码执行、功能服务请求的简化处理,以及将请求参数绑定到相应的域对象上。
1.2 Mybatis框架技术
Mybatis为定制化SQL查询、存储过程以及高级映射框架的持久层框架,主要通过xml或注解的方式,将需要执行的statement、preparedStatemnt等原生信息做出配置和映射。在数据库封装操作执行的过程中,只需将java类和statement类对象集合转换为SQL语句,再由mybatis框架执行SQL语句,将结果映射为java对象,并返回数据库中进行记录,可以实现更加方便快捷数据输入输出与管理。
1.3 SpringMVC框架技术
传统系统应用程序开发模式,通常采用Jsp+JavaBean+Servlet方案,由JSP服务器接收用户访问、数据处理请求,JavaBean应用组件用于建立功能服务和数据库之间的连接,Servlet则作为项目控制器进行浏览器响应结果的发送或接收[3]。这一web应用程序框架实现的方式,最大问题为每个Servlet服务连接器对应一个请求路径,而对于多种服务组件、配置文件等资源的管理会占用大量内存空间。SpringMVC框架是围绕Servlet的请求驱动设计,其核心为DispatcherServlet类,通过Servlet接口发送与接收控制请求,通过模型对象、分派器展示web请求结果,解决视图和控制器(V-C)之间的交互问题。
SpringMVC框架中应用开发执行流程,需要用到DisPatcherServlet前端控制器、HandLer處理器、HandlerMapping处理映射器、HandlerAdapter处理适配器、ViewResolver视图解析器、View视图等组件,具体组件功能执行如图2所示。其中DisPatcherServlet主要功能,在于接收用户浏览器输入的url格式请求,由DisPatcherServlet调用其他组件,配合完成将浏览器请求分发给Spring Controller的工作,大大降低不同组件之间的耦合性[4]。
之后HandlerMapping处理映射器接口,通常以xml或注解方式,记录url信息与处理器的映射。同时HandLer后端处理控制器,用于对用户请求进行处理,包括Spring Controller层业务代码的处理。HandlerAdapter处理适配器,主要负责获取ModelAndView,执行控制器处理函数,再通过适配器规则调用、扩展适配器等方式,对更多类型处理器进行执行[5]。
最后,Controller控制器接口、ViewResolver视图解析器等模块,为并发用户请求处理,以及view视图渲染和数据填充,并将处理结果通过网页向用户展示的模块。在Controller接口收到用户请求后,会实时响应调用模型进行处理,再返回ModelAndView至响应视图对象给DispatcherServlet前端控制器。而ViewResolver视图解析器,则支持不同的jsp、freemarker、velocity实现类,通过页面标签或者模板技术,在Web应用模型中查找View对象,将渲染结果通过页面展示给用户,一般根据不同的业务功能需求开发web页面。
2 基于SSM框架的Web应用开发设计与实现
2.1 系统应用体系架构
在多种功能服务管理应用开发中,通常采取J2EE+SSM服务器端框架方案,运用分层化应用组件,将整个Web应用管理系统,分为权限管理、知识管理、资讯管理、活动管理等部分。根据项目需求与设计要求,利用Spring、SpringMVC、Mybatis的开发框架,完成数据持久层、服务层、逻辑控制层、表示层的建构,满足系统页面多样化的服务需求。
2.2 数据持久层
相比于传统JDBC数据库管理而言,使用MyBatis应用程序框架,创建SQL Session Factory实例,以及对JDBC数据库封装,能大大简化注册驱动、connection创建、statement创建、手动参数设置、结果集检索等的代码执行流程,支持SQL语句对其他连接池的配置,还可以修改mapper文件中SQL配置、提高应用程序开发的效率。在完成SQL语句查询、执行后,Mybatis会将返回的ResultSet对象,转换成Java对象。因此方便获取、写出SQL语句的执行结果,才是MyBatis框架技术的核心竞争力。
2.3 服务层
对于网站数据库访问、数据源信息获取等的配置与管理,通常采用Spring DAO访问对象模式,定义接口类RoleDao、接口实现类RoleDaoImpl,从任何配置好的数据源处,根据ID查询用户角色信息,最后在Mybatis Mapper配置文件中添加
2.4 逻辑控制层
在Web应用系统用户、功能服务增删改等执行过程中,需要Form表单对用户信息的各个字段作出临时存储,这时就会借助于SpringMVC设置表单类RoleInfoForm。其中用户信息表的每个字段,都被定义为Letter)和Setter)类,然后在Controller函数参数列表,直接出JavaBean对象,再利用MetaData指定系统应用后台Bean对象,进行实例化、配置和封装,以此完成配置文件请求地址、信息存储的分配与管理。
2.5 表示层
对于web应用系统页面视图表示、功能指令跳转等服务的实现,则是由SpringMVC框架通过Dispatcher Servlet核心,负责链接地址、提交表单请求的统一分发,转发到注册过的Controller类中。先由用户向服务器发送请求,再利用DispatcherServlet对URL请求作出解析,得到请求资源标识符(URI),之后调用HandlerMapping配置处理器、拦截器对象,最后将配置好视图解析器ftl文件,以及ModelAndView对象渲染结果,返回至用户客户端。
3 结束语
SSM作为典型的MVC框架,在利用该框架整合结构进行系统开发过程中,通常被划分为表示层、控制层、服务层、数据库访问层等层级。其中Spring为提供切面编程、Ioc解耦的容器框架,通过控制反转(或依赖注入)对软件设计对象做出解耦操作,让Spring Bean以配置文件进行组合,被用于复杂应用程序的分层架构设计。之后SpringMVC主要围绕Servlet展开模型对象设计,运用多种控制器处理用户发送的请求,再将相关处理结果返回至View视图。最后MyBatis为支持普通SQL查询、存储过程,以及高级映射的优秀持久层框架,主要针对整体应用架构的开发需求,更加方便的管理数据输入输出、SQL语句执行[1]。
参考文献:
[1] 贺雪梅.web应用开发中的SSM框架设计[J].电子世界,2019(1):206.
[2] 唐权.SSM框架在JavaEE教学中的应用与实践[J].福建电脑,2017,33(12):93-94,61.
[3] 李洋.SSM框架在Web應用开发中的设计与实现[J].计算机技术与发展,2016,26(12):190-194.
[4] 邹红霆.基于SSM框架的Web系统研究与应用[J].湖南理工学院学报(自然科学版),2017,30(1):39-43.
[5] 张宇,王映辉,张翔南.基于Spring的MVC框架设计与实现[J].计算机工程,2010,36(4):59-62.
【通联编辑:谢媛媛】