基于Sp ring MVC框架的鲜活农产品供应链交易平台构建

2016-12-10 07:36翟开云
物流技术 2016年10期
关键词:页面逻辑框架

刘 颖,翟开云

(1.吉林财经大学 管理科学与信息工程学院,吉林 长春 130117;2.物流产业经济与智能物流吉林省高校重点实验室,吉林 长春 130117)

基于Sp ring MVC框架的鲜活农产品供应链交易平台构建

刘 颖1,2,翟开云1

(1.吉林财经大学 管理科学与信息工程学院,吉林 长春 130117;2.物流产业经济与智能物流吉林省高校重点实验室,吉林 长春 130117)

针对鲜活农产品供应链的业务需求,提出基于Spring MVC框架的鲜活农产品供应链交易平台,该平台利用Spring MVC+Mybatis设计系统的主体架构,使用分层技术实现对象之间的松耦合;部署BES作为Web服务器,以提高框架运行稳定性。鲜活农产品销售供应链交易平台的构建,可为鲜活农产品物流提供支持与保障。

鲜活农产品;交易平台;供应链;Spring MVC框架;BES

1 引言

鲜活农产品主要指新鲜蔬菜、水果、鲜活水产品、活的畜禽和新的肉蛋奶等五类农产品[1]。鲜活农产品在采摘后仍有生命活动,在运输、销售的过程中很容易腐烂或者变质,从而带来较大经济损失[2]。近年来,针对鲜活农产品供应链流通的研究逐渐增多[3-5],然而,鲜活农产品在线交易平台,是农产品流通模式不可或缺的一部分,对最优物流配货、降低农产品的损失率、促进价格稳定具有重要的现实意义。

轻量级Spring框架提供了对MVC模式的实现机制,有效的实现跨平台信息交流[6]。目前,许多学者针对这一框架进行研究,申彬等为了满足中小企业对于库存管理系统的业务要求,研究了基于MVC模式S2SH框架的库存管理系统[7]。黎吾鑫在Spring MVC框架和前端Extjs技术的基础上,提出将Spring MVC和Extjs进行高效整合的Web系统框架[8]。廖福保针对目前Spring MVC模块的不足,对模块进行了扩展,并将AJAX,技术引入到Spring MVC模块中,使其具有易维护性[9]。然

而,上述研究中,缺乏服务器的配置研究,本文利用Spring MVC+Mybatis设计系统的主体架构,同时,为了使运行平台达到稳定性、服务易于控制等需求,使用BES部署Web服务器,分别从显示层、控制层、业务逻辑层、数据访问层搭建整体框架,并将其应用于鲜活农产品交易实践平台。

2 平台构架相关技术

2.1 Spring框架

Spring是一个为解决企业应用开发而创建的开源框架。框架的主要优势之一就是其分层架构,使得应用时允许用户选择任意组件,同时也为J2EE应用程序开发提供集成的框架[10-12],如图1所示。

图1 Spring框架结构

其主要优点包括:

(1)轻量。轻量级的容器框架没有侵入性;

(2)松耦合。容易组合对象直接间关系,面向接口编程,降低耦合;

(3)可扩展。AOP可以更加容易的进行功能扩展,遵循OCP开发原则;

(4)面向切面。允许通过分离应用的业务逻辑与系统级服务进行内聚性的开发。

2.2 Spring MVC框架

Spring MVC是一个简单灵活的轻量级MVC框架,其工作原理如图2所示,用户向服务器发出请求,请求会被DispatcherServlet捕获,通过HandlerMapping找到相应处理请求的控制器Controller,Controller接收请求后进行相应逻辑的处理,处理完成后返回一个ModelAndView(视图和模型的集合),然后DispatcherServlet查询ViewResoler视图解析器,找到ModelAndView指定的视图并通过视图将结果显示到客户端。

2.3 Mybatis

Mybatis是存储过程和高级映射的优秀持久层框架,提供了数据映射功能,可实现对底层数据访问的封装。Mybatis原理是使用简单的XML文件或注解S将Javabean,Map的实现和基本数据类型的包装类映射成JDBC的PreparedStatement,实现Java对象与数据库之间的映射关系。相比于Hibernate,Mybatis为系统的设计提供了更大的自由空间,维护更简单。

图2 Spring MVC工作原理

3 Spring MVC+Mybatis框架结构

本平台的设计分为四层架构,分别为显示层、控制层、业务逻辑层、数据访问层。为了降低层与层之间的耦合度,提高系统的可维护性和扩展性,框架以Mysql作为底层数据,使用Maven进行代码管理,用MyEclipse作为开发工具。显示层用Jsp+Jstl实现,控制层以Spring MVC作为控制器,业务层用Spring控制日志记录与事务一致,数据访问层用Mybatis实现与Mysql数据库之间的访问。在每个在功能上职责明确,功能独立,各层通过通信接口实现相互联系,整个平台的架构关系如图3所示。

3.1 显示层

显示层是用户与管理员与系统进行直接进行交互的界面,本平台采用Jsp和Jstl标签实现数据页面的展示,通过El表达式接收控制层传来的数据,并用Jstl进行数据的控制,展示在页面上,使页面代码简洁。

3.2 控制层

控制层相当于一个路由器,起到一个线路开关的作用,它接收页面的请求,调用业务逻辑层接口进行相应处理,再将处理的数据返回给相应的显示层页面。

3.3 业务逻辑层

业务逻辑层提供了系统所需要的业务逻辑方法,是平台设计的核心,负责处理系统的业务逻辑以及数据访问层与控制层之间的通讯。本平台由Spring实现业务

逻辑层,并负责日志和事务的管理。

3.4 数据访问层

数据访问层是由数据访问对象组成,这些数据访问对象提供对基本对象的创建、查询、修改、删除等操作。框架由Mybatis实现数据访问层,使用泛型创建基类,且基类包含对基本对象的创建、查询、修改、删除、分页等操作,并使其他数据访问对象继承该基类,使不同的实体对象保持相同的数据访问方法,为业务逻辑层数据存取提供方法,实现数据库数据的增、删、改、查操作。

图3 平台架构

4 BES服务器部署

考虑平台的访问量需求,也为了使运行平台达到稳定性、服务易于控制等要求,本平台选择BES作为Web服务器,通过为平台设置集群以解决海量访问的问题,部署过程如图4所示。

图4 主机部署与项目发布

主机部署与项目发布过程中,FTP实现Windows系统与Linux主机之间文件传输,将主机需要的文件上传到Linux主机,同时也可以从Linux主机上下载文件;通过BES服务器的iastool命令对项目进行发布,或通过BES管理控制台图形化界面进行项目的发布与管理;利用MySQL作为项目底层数据库支持;Windows系统经过HTTP网络协议,通过浏览器对项目进行访问。如果项目运行出现问题,使用SecureCRT登录主机,查看相应日志,或通过Navicat for Mysql远程连接数据库,查看日志表记录,快速定位以提高系统的可维护性。

5 Spring MVC+Mybatis框架实现与应用

本文以鲜活农产品展示模块为例说明系统的实现过程,该模块的功能是通过Mybatis将数据库中的商品数据读取出来,经过业务逻辑层将数据交给控制层,最终在显示层以列表的形式展示。

5.1 表示层构建

表示层中的Jsp页面放在Java Web项目的View目录下,采用Sitemesh技术保持页面风格的一致性,JSP页面通过El表达式接收变量,利用Jstl标签控制页面内容显示。下面以鲜活农产品展示页面为例进行配置说明。

配置视图解析

搭建后效果如图5所示。

图5 鲜活农产品展示页面

5.2 控制层构建

控制层主要在Web.xml文件中进行配置,定义了控制器对象和所作用的Spring容器路径,负责管理和分配用户,主要配置如下:

对Spring MVC控制器进行配置:

在容器将请求交给控制器类时,Controller类中通过使用@RequestMapping对请求进行映射,其中两个重要的参数Value和Method,分别对应URL和请求的方式(Post或者Get),Controller类处理完相应业务后,交给Spring容器中的视图解析器,然后映射到相应Jsp页面,返回到客户端。

5.3 业务逻辑构建

业务逻辑层根据业务具体要求,实现业务功能的处理,在系统中使用@Service注解实现业务逻辑类被Spring的Bean管理,使用@Resource注解引入数据访问实现类,通过调用接口中的方法访问数据库。

5.4 数据访问层构建

使用泛型构建一个数据访问基类,并为该类封装对数据库的增、删、改,查操作,为每一个实体类构建一个数据访问类,继承基类以及不同实体对象的使用,使用相同的数据访问接口,不同的访问形式,最终实现对数据的CRUD操作。

数据库连接配置分为Windows开发环境和Linux主机部署环境,配置如下:

通过dbcp连接池创建数据源-

数据访问通过调用基类的分页功能,实现商品分页展示

基类利用泛型,实现分页功能

6 结论

本文从软件的架构流程入手,设计实现基于Spring MVC框架的鲜活农产品交易平台。该平台使用分层设计,实现对象之间的松耦合,使得程序具有更好的可扩展性和可维护性。此外,平台还采用企业级BES服务器,并将平台部署在Linux系统上,进而加快了系统的反应速度。该框架为鲜活农产品供应链流通提供技术平台,具有一定的实用性和推广价值。

[1]林略,杨书萍,但斌.时间约束下鲜活农产品三级供应链协调[J].中国管理科学,2011,19(3):57-62.

[2]樊西峰.鲜活农产品流通电子商务模式构想[J].中国流通经济,2013,(4):85-90.

[3]赵霞,吴方卫.随机产出与需求下农产品供应链协调的收益共享合同研究[J].中国管理科学,2009,17(5):88-95.

[4]吴忠和,陈宏,赵千,等.时间约束下鲜活农产品供应链应急协调契约[J].系统管理学报,2014,23(1):49-61.

[5]王婧,陈旭.考虑期权合同的生鲜农产品批发商的最优订货[J].系统工程理论与实践,2010,30(12):2 137-2 144.

[6]Johnson R,Hoeller J,Arendsen A.Spring Java/J2EE application Framework[R].2004.

[7]申斌,李利民.基于MVC模式S2SH框架的库存管理系统[J].实验室研究与探索,2014,33(11):113-117.

[8]黎吾鑫,王新.基于Extjs+Spring MVC的Web系统框架及应用研究[J].云南大学学报(自然科学版),2013,35(S2):110-115.

[9]廖福保.扩展Spring MVC模块的Web应用[J].实验室研究与探索,2012,31(10):70-73.

[10]高秀慧,高建华.基于J2EE框架的Web应用可靠性研究[J].计算机工程与设计,2013,34(4):1 270-1 275.

[11]Gary M.Spring recipes:A problem-solution approach[M]. New York:Apress L P,2008.

[12]Wang H T,Jia B X.Research based on Web Development of Spring Integration Framework[A].International Forum on Information Technology and Applications[C].2010.

Establishment of Fresh Farm Produce Supp ly Chain Trade Platform Based on Spring MVC

Liu Ying1,2,Zhai Kaiyun1
(1.School of Management Science&Information Engineering,Jilin University of Finance&Economics,Changchun 130117; 2.Jilin Province University Key Laboratory for Logistics Industrial Economy&Intelligent Logistics,Changchun 130117,China)

In this paper,in view of the business demand of the fresh farm produce supply chain,we proposed the fresh farm produce supply chain trade platform based on the Spring MVC,which is built around the Spring MVC+Mybatis design system as its main framework, uses the layering technology to realize the loose coupling of the objects and deploys the BES as the Web server to improve the stability of the system.

fresh farm produce;trade platform;supply chain;Spring MVC framework;BES

F274;F721.8;U16

A

1005-152X(2016)10-0133-05

10.3969/j.issn.1005-152X.2016.10.031

2016-08-02

国家自然科学基金(61402193);吉林省教育厅"十二五"科学技术研究项目(2015410);物流产业经济与智能物流实验室开放基金(201401);吉林省社会科学基金项目(2015BS48)

刘颖(1979-),女,博士,副教授,主要研究方向:计算智能、物流供应链管理。

猜你喜欢
页面逻辑框架
刑事印证证明准确达成的逻辑反思
刷新生活的页面
框架
逻辑
创新的逻辑
广义框架的不相交性
女人买买买的神逻辑
移动页面设计:为老人做设计
关于原点对称的不规则Gabor框架的构造
基于Hadoop的DDoS检测框架