APP下载

浅论SSM框架在构建“微农”信息服务中的应用

2021-03-04胡世洋,赖森林

电脑知识与技术 2021年34期
关键词:农产品信息技术农业

胡世洋,赖森林

摘要:为了智能地分析和挖掘农产品市场生态信息,开发了一套基于以大数据分析为核心,以SSM为框架的“微农”信息服务平台。该系统分为电脑端的综合信息管理系统和手机端的信息应用系统。文章简述了SSM轻量级框架的特点,指出了选择SSM框架的原因,分析了“微农”信息服务平台的特点和功能结构,阐述了如何采用SSM轻量级框架和构建“微农”信息服务平台的过程,特别是MyBatis框架在解决数据持久化过程中的应用,Spring框架在程序解耦过程中的应用,Spring MVC框架在实现功能分离过程中的应用,以及响应式Web技术在“微农”移动端的应用。初步测试表明系统的灵活性和稳定性都很好,为农产品数据价值的挖掘提供了良好的平台。

关键词:农业;农产品;信息技术;移动开发;数据持久化

中图分类号:TP311.52      文献标识码:A

文章编号:1009-3044(2021)34-0004-03

1 引言

目前我国的农业也正在向大数据化农业、智能化农业、信息化农业发展。近些年越来越多的农业大数据平台被开发应用,支持农业大数据的管理、分析、展现的技术也相继成熟[1]。本课题的研究就是要构建网络软件系统,它可以展示不同社会环境影响下农产品在生产和销售过程中数据的动态变化模型,能够提供一种以更加宏观的角度来统筹农产品销售的解决方案[2]。这样一个系统功能比较复杂,不仅涉及信息系统建设还涉及大数据和人工智能领域的技术,因此这样的系统需要拥有良好的可扩展性和可维护性,这对系统的架构设计提出了较高的要求。 为了解决这个问题本系统就采用SSM轻量级框架进行开发,以保证系统的灵活性。

2 SSM轻量级框架概述

SSM轻量级框架是一种可重用的公共结构半成品,它就像应用程序的“骨架”,开发者可以在“骨架”上进行自己的程序开发,从而构建出符合自己需要的应用程序,它为我们开发应用程序提供了极大的便利[3]。在构建软件系统的时候需要考虑到软件本身的功能性、可靠性、可用性、资源利用率、可维护性以及可移植性[4]。如果没有合适的框架那么就会造成不同程序开发人员写出的程序风格差异巨大,软件的质量也参差不齐。SSM轻量级框架为此提供了一种良好的解决方案,它是Spring框架、Sping MVC框架和MyBatis框架整合后的简称。Spring 框架降低了程序的耦合性和开发难度,Spring MVC框架将表示层、控制层和模型层分离开来,MyBatis框架建立了实体类和SQL语句的映射,大大提高了程序的灵活性和可扩展性[5]。本系统就是采用SSM轻量级框架开发和构建的。

3 “微农”信息服务平台概述

“微农”信息服务平台是基于大数据技术的智慧农产品数据服务平台。系统旨在利用基于AI的数据预处理、数据挖掘和深度学习等技术,建立科学的数学模型,研究出农产品购销脱节的内外原因,对农产品的购销两端做出趋势判断和科学预测,构建更加科学的产业服务平台,重构更为良性的农产品市场生态系统。该系统集数据采集、数据分析、数据处理、动态预测、社区服务、辅助决策等功能为一体,运用智能计算方法和信息化技术手段来解决农产品在市场销售中存在购销脱节的问题。系统分為电脑端的“综合信息管理系统”和手机端的信息应用系统。电脑端的“综合信息管理系统”包括数据分析、数据处理、数据展示、动态预测、辅助决策等功能。手机端的信息应用系统包括数据采集、数据展示、动态预测、社区服务等功能。“微农”信息服务平台功能结构图如图1所示。

4 SSM在构建“微农”信息服务中的应用

4.1 “微农”信息服务数据体系的构建

“微农”信息服务数据体系包括基础数据体系和标签数据体系等部分构成。基础数据是跟业务直接相关的对象数据,例如农作物、农产品、用户、地理信息等相关数据。而标签数据体系则是建立用户画像并进行大数据分析的基础。指标数据包括用户属性维度、用户行动维度、用户社交维度等部分[6]。在构建数据体系的时候首先要根据需求分析文件提炼出核心数据对象,再根据数据对象设计对应的数据表。因为后续的数据分析可能涉及数据的多重维度所以在设表结构的时候根据实际情况来选择窄表与宽表。在构建“微农”信息服务数据体系过程中使用的工具是基于MySQL的数据库和基于Hive的数据仓库。MySQL数据库用来存放和管理元数据、监控数据、预警数据、结果集等相关数据。而Hive数据仓库用作大批量数据的存储与处理。事实表、维度表以及相关日志信息都存放在Hive数据仓库里面。

4.2 Spring 框架在解耦过程中的应用

Spring 框架提供了控制反转和面向切面编程的功能,所以SSM框架整合中它负责了对数据库的连接。Spring框架所依赖的JAR包被导入之后,需要在applicationContext.xml配置文件里配置有关数据库连接、批量生成映射器实现类、AOP事务处理、MyBatis整合等相关内容。通过Service接口和其实现类调用Mapper实现类的增、删、改、查操作,并在利用这些操作的基础上完成更为复杂的任务。系统的业务逻辑复杂,如果没有使用Spring框架,系统组件之间的耦合度会很大。Spring所提供的IoC容器采用依赖注入的方式让组件在applicationContext.xml配置文件里组织起来,控制权就转移到applicationContext对象上面。Spring所提供的AOP功能,非主体业务逻辑的功能被分离并在适当的时机在切入点植入增强。因此如何将组件按照Spring框架的规则组织起来就显得格外重要。此处以基于Spring框架的规则的用户管理组件的为例,可以用类图方式表示组件内部类和接口之类的关系。以用户为例可绘制示例类图如图2所示。

4.3 Spring MVC框架在实现功能层次分离过程中的应用

Spring MVC框架被用来实现控制层、表示层、模型层的分离。Spring MVC框架必需的JAR包(如spring-web-3.2.13.RELEASE.jar等)被导入之后,需要在配置文件springmvc-servlet.xml里面做如下配置:首先要配置处理器映射,即扫描所有控制类。其次要配置静态资源文件,即创建的网页文件。再次要配置视图解析器,即网页文件如何与负责处理业务逻辑的控制类映射起来。使用Spring MVC框架就可以在前端使用响应式Web开发技术来制作符合用户需要的功能页面。而在后端使用Java语言来处理业务逻辑。由于系统的界面比较复杂,既包括电脑网页又包括移动网页,网页背后业务逻辑也错综复杂,Spring MVC框架处理这个问题就十分方便。基于Servlet的Spring MVC框架是JSP Model2实现方案里结构最清晰的一个,封装有数据模型和视图信息的ModelAndView对象被作为Spring MVC控制器的返回对象,负责解析的视图解析器将逻辑视图与真正负责显示的前端网页建立了有效的映射关系。

4.4 MyBatis框架在解决数据持久化过程中的应用

首先,导入MyBatis框架所依赖的jar文件(mybatis-3.2.2.zip)到項目文件里面,这些jar文件为解决数据持久化提供了类文件支持。其次,与数据库中所有表对应的POJO类被建立起来。这些POJO类中的属性与数据表的属性字段有映射关系,但也并非完全一致,尤其是涉及数据表的外键参照,POJO类将以它所参考的表所映射的类对象为属性。POJO类还包括有属性所对应的getter、setter方法。与数据表对应的Mapper接口和Mapper配置文件也需要被创建,在Mapper接口中定义与数据表操作相关的增、删、改、查等操作。Mapper接口与Mapper配置文件配合使用,Mapper配置文件拥有强大的SQL映射语句,可以大大减少程序代码量。由于系统涉及的数据表众多,如果没有MyBatis框架来解决数据持久化的业务逻辑,那么系统需大量代码来处理跟数据基础操作相关的内容,这会带来代码的臃肿和重复。MyBatis框架封装了数据基础操作,使得程序代码更加简洁。

5 响应式Web技术在“微农”移动端的应用

手机端的信息应用系统包括数据采集、数据展示、动态预测、社区服务等功能。移动端的程序对整个系统来说至关重要,随着社会的发展,手机(或平板)的应用比PC机更为广泛,能否提供功能和界面良好的移动端应用程序是项目成败的关键。移动端的开发技术主要有基于Android的App开发、基于MAC OS的App开发以及基于移动网页开发。为了提高系统的灵活性,这里采用移动网页的开发技术,因为采用这种技术可以避免不同设备的操作系统差异带来的不兼容。由于移动设备类型多样,它们的屏幕大小也各不相同,因此系统采用了基于Bootstrap的响应式Web技术[7]。Bootstrap的核心文件bootstrap.min.css以及响应Web所需要jQuery文件jquery-3.2.1.min.js被提前导入到系统网页所需的资源文件夹里面。利用Bootstrap所提供的布局和组件构建响应式移动网页,从而实现不同屏幕有不同的显示风格。如果每个页面都要制作电脑端、平台端和手机端的话,那么就会系统的灵活性就会降低,同时还会带来代码冗余的问题。大量布局不同而内容相同的网页也会降低网站在搜索引擎中的权重,不利于以后系统的市场推广[8]。

6 “微农”信息服务的初步运行效果

系统采用Tomcat作为系统的服务器,将系统部署在服务器上面。系统管理员可通过专线网络访问该系统。手机端的用户采用扫码的方式访问本系统的应用端软件,应用端软件和电脑端的信息系统向网络数据库更新数据。在运行过程中,系统的可用性、负载能力、移植性、实时响应都是被重点关注的测试方面。经过测试达到了初步的效果。系统服务器端的初步运行效果如图3所示。

使用平板访问系统和使用手机访问系统所看到的布局并不相同,但是两种设备均能完成对系统的使用,这便是响应web技术在系统兼容性上的应用。使用浏览器扫描二维码之后就可以进入系统的入口界面,系统的导航栏目包括首页、粮油、菌类、肉类、蔬菜、水果、林产品、花卉、其他等内容。使用搜索功能可以搜索到整个系统的商品信息。系统也提供了灾害、扶贫、发现、爱心、滞销、特价、附近等快速通道。系统在iPad平板上的运行效果如图4所示。

手机在现实生活中的应用更为广泛,所以系统针对手机端用户的界面应更为简洁和友好。手机端的使用方法与平板电脑相同,但是使用手机端进入系统之后会发现,导航栏目已经被隐藏成一个图标,点击图标则可以展开导航栏目。在商品展示栏目中,原来在平板上显示三列的商品信息也在手机端压缩成了一行。系统在华为手机端的运行效果如图5所示。

7 结束语

使用SSM轻量级框架开发出来的“微农”信息服务平台无论是在系统的功能上还是性能上都有优异的表现,程序的开发难度大大降低,程序的可维护性和可扩展性显著提高。经过初步的测试,系统达到了预期的目标。接下来系统将与大数据技术和智能分析技术深度对接,从而使系统向云端化和智能化转变。

参考文献:

[1] 董尊骅.基于SSM框架的大米原料品质指标数据库平台的设计与实现[J].南方农机,2021,52(11):9-10.

[2] 胡历芳,唐博文,曾寅初.基于Heckman模型的农产品购销商借贷需求行为分析[J].农业经济问题,2017,38(4):75-84,111.

[3] 肖睿.SSM轻量级框架应用实战[M].北京:人民邮电出版社,2018.

[4] 刘凤华.软件项目管理[M].北京:中国铁道出版社,2018.

[5] 周永政,刘莎莎,姜红花.基于SSM框架的监考安排管理系统设计与实现[J].电脑知识与技术,2021,17(20):59-60,66.

[6] 赵宏田.用户画像方法论与工程化解决方案[M].北京:机械工业出版社,2021.

[7] 强力,李灶娥,魏丹丹,等.SSM框架下的果蔬信息管理系统设计[J].福建电脑,2021,37(9):99-101.

[8] 黑马程序员.Bootstrap响应式Web开发[M].北京:人民邮电出版社,2021.

【通联编辑:谢媛媛】

猜你喜欢

农产品信息技术农业
国内农业
国内农业
国内农业
农产品网店遭“打假”敲诈 价值19.9元农产品竟被敲诈千元
擦亮“国”字招牌 发挥农业领跑作用
新一代信息技术征稿启示
打通农产品出村“最先一公里”
新一代信息技术征稿启示
新一代信息技术征稿启示
农产品争奇斗艳