国产日韩欧美一区二区三区三州_亚洲少妇熟女av_久久久久亚洲av国产精品_波多野结衣网站一区二区_亚洲欧美色片在线91_国产亚洲精品精品国产优播av_日本一区二区三区波多野结衣 _久久国产av不卡

?

淺論SSM框架在構(gòu)建“微農(nóng)”信息服務(wù)中的應(yīng)用

2021-03-04 00:36胡世洋,賴森林
電腦知識(shí)與技術(shù) 2021年34期
關(guān)鍵詞:農(nóng)產(chǎn)品信息技術(shù)農(nóng)業(yè)

胡世洋,賴森林

摘要:為了智能地分析和挖掘農(nóng)產(chǎn)品市場(chǎng)生態(tài)信息,開發(fā)了一套基于以大數(shù)據(jù)分析為核心,以SSM為框架的“微農(nóng)”信息服務(wù)平臺(tái)。該系統(tǒng)分為電腦端的綜合信息管理系統(tǒng)和手機(jī)端的信息應(yīng)用系統(tǒng)。文章簡(jiǎn)述了SSM輕量級(jí)框架的特點(diǎn),指出了選擇SSM框架的原因,分析了“微農(nóng)”信息服務(wù)平臺(tái)的特點(diǎn)和功能結(jié)構(gòu),闡述了如何采用SSM輕量級(jí)框架和構(gòu)建“微農(nóng)”信息服務(wù)平臺(tái)的過程,特別是MyBatis框架在解決數(shù)據(jù)持久化過程中的應(yīng)用,Spring框架在程序解耦過程中的應(yīng)用,Spring MVC框架在實(shí)現(xiàn)功能分離過程中的應(yīng)用,以及響應(yīng)式Web技術(shù)在“微農(nóng)”移動(dòng)端的應(yīng)用。初步測(cè)試表明系統(tǒng)的靈活性和穩(wěn)定性都很好,為農(nóng)產(chǎn)品數(shù)據(jù)價(jià)值的挖掘提供了良好的平臺(tái)。

關(guān)鍵詞:農(nóng)業(yè);農(nóng)產(chǎn)品;信息技術(shù);移動(dòng)開發(fā);數(shù)據(jù)持久化

中圖分類號(hào):TP311.52? ? ? 文獻(xiàn)標(biāo)識(shí)碼:A

文章編號(hào):1009-3044(2021)34-0004-03

1 引言

目前我國(guó)的農(nóng)業(yè)也正在向大數(shù)據(jù)化農(nóng)業(yè)、智能化農(nóng)業(yè)、信息化農(nóng)業(yè)發(fā)展。近些年越來越多的農(nóng)業(yè)大數(shù)據(jù)平臺(tái)被開發(fā)應(yīng)用,支持農(nóng)業(yè)大數(shù)據(jù)的管理、分析、展現(xiàn)的技術(shù)也相繼成熟[1]。本課題的研究就是要構(gòu)建網(wǎng)絡(luò)軟件系統(tǒng),它可以展示不同社會(huì)環(huán)境影響下農(nóng)產(chǎn)品在生產(chǎn)和銷售過程中數(shù)據(jù)的動(dòng)態(tài)變化模型,能夠提供一種以更加宏觀的角度來統(tǒng)籌農(nóng)產(chǎn)品銷售的解決方案[2]。這樣一個(gè)系統(tǒng)功能比較復(fù)雜,不僅涉及信息系統(tǒng)建設(shè)還涉及大數(shù)據(jù)和人工智能領(lǐng)域的技術(shù),因此這樣的系統(tǒng)需要擁有良好的可擴(kuò)展性和可維護(hù)性,這對(duì)系統(tǒng)的架構(gòu)設(shè)計(jì)提出了較高的要求。 為了解決這個(gè)問題本系統(tǒng)就采用SSM輕量級(jí)框架進(jìn)行開發(fā),以保證系統(tǒng)的靈活性。

2 SSM輕量級(jí)框架概述

SSM輕量級(jí)框架是一種可重用的公共結(jié)構(gòu)半成品,它就像應(yīng)用程序的“骨架”,開發(fā)者可以在“骨架”上進(jìn)行自己的程序開發(fā),從而構(gòu)建出符合自己需要的應(yīng)用程序,它為我們開發(fā)應(yīng)用程序提供了極大的便利[3]。在構(gòu)建軟件系統(tǒng)的時(shí)候需要考慮到軟件本身的功能性、可靠性、可用性、資源利用率、可維護(hù)性以及可移植性[4]。如果沒有合適的框架那么就會(huì)造成不同程序開發(fā)人員寫出的程序風(fēng)格差異巨大,軟件的質(zhì)量也參差不齊。SSM輕量級(jí)框架為此提供了一種良好的解決方案,它是Spring框架、Sping MVC框架和MyBatis框架整合后的簡(jiǎn)稱。Spring 框架降低了程序的耦合性和開發(fā)難度,Spring MVC框架將表示層、控制層和模型層分離開來,MyBatis框架建立了實(shí)體類和SQL語(yǔ)句的映射,大大提高了程序的靈活性和可擴(kuò)展性[5]。本系統(tǒng)就是采用SSM輕量級(jí)框架開發(fā)和構(gòu)建的。

3 “微農(nóng)”信息服務(wù)平臺(tái)概述

“微農(nóng)”信息服務(wù)平臺(tái)是基于大數(shù)據(jù)技術(shù)的智慧農(nóng)產(chǎn)品數(shù)據(jù)服務(wù)平臺(tái)。系統(tǒng)旨在利用基于AI的數(shù)據(jù)預(yù)處理、數(shù)據(jù)挖掘和深度學(xué)習(xí)等技術(shù),建立科學(xué)的數(shù)學(xué)模型,研究出農(nóng)產(chǎn)品購(gòu)銷脫節(jié)的內(nèi)外原因,對(duì)農(nóng)產(chǎn)品的購(gòu)銷兩端做出趨勢(shì)判斷和科學(xué)預(yù)測(cè),構(gòu)建更加科學(xué)的產(chǎn)業(yè)服務(wù)平臺(tái),重構(gòu)更為良性的農(nóng)產(chǎn)品市場(chǎng)生態(tài)系統(tǒng)。該系統(tǒng)集數(shù)據(jù)采集、數(shù)據(jù)分析、數(shù)據(jù)處理、動(dòng)態(tài)預(yù)測(cè)、社區(qū)服務(wù)、輔助決策等功能為一體,運(yùn)用智能計(jì)算方法和信息化技術(shù)手段來解決農(nóng)產(chǎn)品在市場(chǎng)銷售中存在購(gòu)銷脫節(jié)的問題。系統(tǒng)分為電腦端的“綜合信息管理系統(tǒng)”和手機(jī)端的信息應(yīng)用系統(tǒng)。電腦端的“綜合信息管理系統(tǒng)”包括數(shù)據(jù)分析、數(shù)據(jù)處理、數(shù)據(jù)展示、動(dòng)態(tài)預(yù)測(cè)、輔助決策等功能。手機(jī)端的信息應(yīng)用系統(tǒng)包括數(shù)據(jù)采集、數(shù)據(jù)展示、動(dòng)態(tài)預(yù)測(cè)、社區(qū)服務(wù)等功能。“微農(nóng)”信息服務(wù)平臺(tái)功能結(jié)構(gòu)圖如圖1所示。

4 SSM在構(gòu)建“微農(nóng)”信息服務(wù)中的應(yīng)用

4.1 “微農(nóng)”信息服務(wù)數(shù)據(jù)體系的構(gòu)建

“微農(nóng)”信息服務(wù)數(shù)據(jù)體系包括基礎(chǔ)數(shù)據(jù)體系和標(biāo)簽數(shù)據(jù)體系等部分構(gòu)成?;A(chǔ)數(shù)據(jù)是跟業(yè)務(wù)直接相關(guān)的對(duì)象數(shù)據(jù),例如農(nóng)作物、農(nóng)產(chǎn)品、用戶、地理信息等相關(guān)數(shù)據(jù)。而標(biāo)簽數(shù)據(jù)體系則是建立用戶畫像并進(jìn)行大數(shù)據(jù)分析的基礎(chǔ)。指標(biāo)數(shù)據(jù)包括用戶屬性維度、用戶行動(dòng)維度、用戶社交維度等部分[6]。在構(gòu)建數(shù)據(jù)體系的時(shí)候首先要根據(jù)需求分析文件提煉出核心數(shù)據(jù)對(duì)象,再根據(jù)數(shù)據(jù)對(duì)象設(shè)計(jì)對(duì)應(yīng)的數(shù)據(jù)表。因?yàn)楹罄m(xù)的數(shù)據(jù)分析可能涉及數(shù)據(jù)的多重維度所以在設(shè)表結(jié)構(gòu)的時(shí)候根據(jù)實(shí)際情況來選擇窄表與寬表。在構(gòu)建“微農(nóng)”信息服務(wù)數(shù)據(jù)體系過程中使用的工具是基于MySQL的數(shù)據(jù)庫(kù)和基于Hive的數(shù)據(jù)倉(cāng)庫(kù)。MySQL數(shù)據(jù)庫(kù)用來存放和管理元數(shù)據(jù)、監(jiān)控?cái)?shù)據(jù)、預(yù)警數(shù)據(jù)、結(jié)果集等相關(guān)數(shù)據(jù)。而Hive數(shù)據(jù)倉(cāng)庫(kù)用作大批量數(shù)據(jù)的存儲(chǔ)與處理。事實(shí)表、維度表以及相關(guān)日志信息都存放在Hive數(shù)據(jù)倉(cāng)庫(kù)里面。

4.2 Spring 框架在解耦過程中的應(yīng)用

Spring 框架提供了控制反轉(zhuǎn)和面向切面編程的功能,所以SSM框架整合中它負(fù)責(zé)了對(duì)數(shù)據(jù)庫(kù)的連接。Spring框架所依賴的JAR包被導(dǎo)入之后,需要在applicationContext.xml配置文件里配置有關(guān)數(shù)據(jù)庫(kù)連接、批量生成映射器實(shí)現(xiàn)類、AOP事務(wù)處理、MyBatis整合等相關(guān)內(nèi)容。通過Service接口和其實(shí)現(xiàn)類調(diào)用Mapper實(shí)現(xiàn)類的增、刪、改、查操作,并在利用這些操作的基礎(chǔ)上完成更為復(fù)雜的任務(wù)。系統(tǒng)的業(yè)務(wù)邏輯復(fù)雜,如果沒有使用Spring框架,系統(tǒng)組件之間的耦合度會(huì)很大。Spring所提供的IoC容器采用依賴注入的方式讓組件在applicationContext.xml配置文件里組織起來,控制權(quán)就轉(zhuǎn)移到applicationContext對(duì)象上面。Spring所提供的AOP功能,非主體業(yè)務(wù)邏輯的功能被分離并在適當(dāng)?shù)臅r(shí)機(jī)在切入點(diǎn)植入增強(qiáng)。因此如何將組件按照Spring框架的規(guī)則組織起來就顯得格外重要。此處以基于Spring框架的規(guī)則的用戶管理組件的為例,可以用類圖方式表示組件內(nèi)部類和接口之類的關(guān)系。以用戶為例可繪制示例類圖如圖2所示。

4.3 Spring MVC框架在實(shí)現(xiàn)功能層次分離過程中的應(yīng)用

Spring MVC框架被用來實(shí)現(xiàn)控制層、表示層、模型層的分離。Spring MVC框架必需的JAR包(如spring-web-3.2.13.RELEASE.jar等)被導(dǎo)入之后,需要在配置文件springmvc-servlet.xml里面做如下配置:首先要配置處理器映射,即掃描所有控制類。其次要配置靜態(tài)資源文件,即創(chuàng)建的網(wǎng)頁(yè)文件。再次要配置視圖解析器,即網(wǎng)頁(yè)文件如何與負(fù)責(zé)處理業(yè)務(wù)邏輯的控制類映射起來。使用Spring MVC框架就可以在前端使用響應(yīng)式Web開發(fā)技術(shù)來制作符合用戶需要的功能頁(yè)面。而在后端使用Java語(yǔ)言來處理業(yè)務(wù)邏輯。由于系統(tǒng)的界面比較復(fù)雜,既包括電腦網(wǎng)頁(yè)又包括移動(dòng)網(wǎng)頁(yè),網(wǎng)頁(yè)背后業(yè)務(wù)邏輯也錯(cuò)綜復(fù)雜,Spring MVC框架處理這個(gè)問題就十分方便。基于Servlet的Spring MVC框架是JSP Model2實(shí)現(xiàn)方案里結(jié)構(gòu)最清晰的一個(gè),封裝有數(shù)據(jù)模型和視圖信息的ModelAndView對(duì)象被作為Spring MVC控制器的返回對(duì)象,負(fù)責(zé)解析的視圖解析器將邏輯視圖與真正負(fù)責(zé)顯示的前端網(wǎng)頁(yè)建立了有效的映射關(guān)系。

4.4 MyBatis框架在解決數(shù)據(jù)持久化過程中的應(yīng)用

首先,導(dǎo)入MyBatis框架所依賴的jar文件(mybatis-3.2.2.zip)到項(xiàng)目文件里面,這些jar文件為解決數(shù)據(jù)持久化提供了類文件支持。其次,與數(shù)據(jù)庫(kù)中所有表對(duì)應(yīng)的POJO類被建立起來。這些POJO類中的屬性與數(shù)據(jù)表的屬性字段有映射關(guān)系,但也并非完全一致,尤其是涉及數(shù)據(jù)表的外鍵參照,POJO類將以它所參考的表所映射的類對(duì)象為屬性。POJO類還包括有屬性所對(duì)應(yīng)的getter、setter方法。與數(shù)據(jù)表對(duì)應(yīng)的Mapper接口和Mapper配置文件也需要被創(chuàng)建,在Mapper接口中定義與數(shù)據(jù)表操作相關(guān)的增、刪、改、查等操作。Mapper接口與Mapper配置文件配合使用,Mapper配置文件擁有強(qiáng)大的SQL映射語(yǔ)句,可以大大減少程序代碼量。由于系統(tǒng)涉及的數(shù)據(jù)表眾多,如果沒有MyBatis框架來解決數(shù)據(jù)持久化的業(yè)務(wù)邏輯,那么系統(tǒng)需大量代碼來處理跟數(shù)據(jù)基礎(chǔ)操作相關(guān)的內(nèi)容,這會(huì)帶來代碼的臃腫和重復(fù)。MyBatis框架封裝了數(shù)據(jù)基礎(chǔ)操作,使得程序代碼更加簡(jiǎn)潔。

5 響應(yīng)式Web技術(shù)在“微農(nóng)”移動(dòng)端的應(yīng)用

手機(jī)端的信息應(yīng)用系統(tǒng)包括數(shù)據(jù)采集、數(shù)據(jù)展示、動(dòng)態(tài)預(yù)測(cè)、社區(qū)服務(wù)等功能。移動(dòng)端的程序?qū)φ麄€(gè)系統(tǒng)來說至關(guān)重要,隨著社會(huì)的發(fā)展,手機(jī)(或平板)的應(yīng)用比PC機(jī)更為廣泛,能否提供功能和界面良好的移動(dòng)端應(yīng)用程序是項(xiàng)目成敗的關(guān)鍵。移動(dòng)端的開發(fā)技術(shù)主要有基于Android的App開發(fā)、基于MAC OS的App開發(fā)以及基于移動(dòng)網(wǎng)頁(yè)開發(fā)。為了提高系統(tǒng)的靈活性,這里采用移動(dòng)網(wǎng)頁(yè)的開發(fā)技術(shù),因?yàn)椴捎眠@種技術(shù)可以避免不同設(shè)備的操作系統(tǒng)差異帶來的不兼容。由于移動(dòng)設(shè)備類型多樣,它們的屏幕大小也各不相同,因此系統(tǒng)采用了基于Bootstrap的響應(yīng)式Web技術(shù)[7]。Bootstrap的核心文件bootstrap.min.css以及響應(yīng)Web所需要jQuery文件jquery-3.2.1.min.js被提前導(dǎo)入到系統(tǒng)網(wǎng)頁(yè)所需的資源文件夾里面。利用Bootstrap所提供的布局和組件構(gòu)建響應(yīng)式移動(dòng)網(wǎng)頁(yè),從而實(shí)現(xiàn)不同屏幕有不同的顯示風(fēng)格。如果每個(gè)頁(yè)面都要制作電腦端、平臺(tái)端和手機(jī)端的話,那么就會(huì)系統(tǒng)的靈活性就會(huì)降低,同時(shí)還會(huì)帶來代碼冗余的問題。大量布局不同而內(nèi)容相同的網(wǎng)頁(yè)也會(huì)降低網(wǎng)站在搜索引擎中的權(quán)重,不利于以后系統(tǒng)的市場(chǎng)推廣[8]。

6 “微農(nóng)”信息服務(wù)的初步運(yùn)行效果

系統(tǒng)采用Tomcat作為系統(tǒng)的服務(wù)器,將系統(tǒng)部署在服務(wù)器上面。系統(tǒng)管理員可通過專線網(wǎng)絡(luò)訪問該系統(tǒng)。手機(jī)端的用戶采用掃碼的方式訪問本系統(tǒng)的應(yīng)用端軟件,應(yīng)用端軟件和電腦端的信息系統(tǒng)向網(wǎng)絡(luò)數(shù)據(jù)庫(kù)更新數(shù)據(jù)。在運(yùn)行過程中,系統(tǒng)的可用性、負(fù)載能力、移植性、實(shí)時(shí)響應(yīng)都是被重點(diǎn)關(guān)注的測(cè)試方面。經(jīng)過測(cè)試達(dá)到了初步的效果。系統(tǒng)服務(wù)器端的初步運(yùn)行效果如圖3所示。

使用平板訪問系統(tǒng)和使用手機(jī)訪問系統(tǒng)所看到的布局并不相同,但是兩種設(shè)備均能完成對(duì)系統(tǒng)的使用,這便是響應(yīng)web技術(shù)在系統(tǒng)兼容性上的應(yīng)用。使用瀏覽器掃描二維碼之后就可以進(jìn)入系統(tǒng)的入口界面,系統(tǒng)的導(dǎo)航欄目包括首頁(yè)、糧油、菌類、肉類、蔬菜、水果、林產(chǎn)品、花卉、其他等內(nèi)容。使用搜索功能可以搜索到整個(gè)系統(tǒng)的商品信息。系統(tǒng)也提供了災(zāi)害、扶貧、發(fā)現(xiàn)、愛心、滯銷、特價(jià)、附近等快速通道。系統(tǒng)在iPad平板上的運(yùn)行效果如圖4所示。

手機(jī)在現(xiàn)實(shí)生活中的應(yīng)用更為廣泛,所以系統(tǒng)針對(duì)手機(jī)端用戶的界面應(yīng)更為簡(jiǎn)潔和友好。手機(jī)端的使用方法與平板電腦相同,但是使用手機(jī)端進(jìn)入系統(tǒng)之后會(huì)發(fā)現(xiàn),導(dǎo)航欄目已經(jīng)被隱藏成一個(gè)圖標(biāo),點(diǎn)擊圖標(biāo)則可以展開導(dǎo)航欄目。在商品展示欄目中,原來在平板上顯示三列的商品信息也在手機(jī)端壓縮成了一行。系統(tǒng)在華為手機(jī)端的運(yùn)行效果如圖5所示。

7 結(jié)束語(yǔ)

使用SSM輕量級(jí)框架開發(fā)出來的“微農(nóng)”信息服務(wù)平臺(tái)無論是在系統(tǒng)的功能上還是性能上都有優(yōu)異的表現(xiàn),程序的開發(fā)難度大大降低,程序的可維護(hù)性和可擴(kuò)展性顯著提高。經(jīng)過初步的測(cè)試,系統(tǒng)達(dá)到了預(yù)期的目標(biāo)。接下來系統(tǒng)將與大數(shù)據(jù)技術(shù)和智能分析技術(shù)深度對(duì)接,從而使系統(tǒng)向云端化和智能化轉(zhuǎn)變。

參考文獻(xiàn):

[1] 董尊驊.基于SSM框架的大米原料品質(zhì)指標(biāo)數(shù)據(jù)庫(kù)平臺(tái)的設(shè)計(jì)與實(shí)現(xiàn)[J].南方農(nóng)機(jī),2021,52(11):9-10.

[2] 胡歷芳,唐博文,曾寅初.基于Heckman模型的農(nóng)產(chǎn)品購(gòu)銷商借貸需求行為分析[J].農(nóng)業(yè)經(jīng)濟(jì)問題,2017,38(4):75-84,111.

[3] 肖睿.SSM輕量級(jí)框架應(yīng)用實(shí)戰(zhàn)[M].北京:人民郵電出版社,2018.

[4] 劉鳳華.軟件項(xiàng)目管理[M].北京:中國(guó)鐵道出版社,2018.

[5] 周永政,劉莎莎,姜紅花.基于SSM框架的監(jiān)考安排管理系統(tǒng)設(shè)計(jì)與實(shí)現(xiàn)[J].電腦知識(shí)與技術(shù),2021,17(20):59-60,66.

[6] 趙宏田.用戶畫像方法論與工程化解決方案[M].北京:機(jī)械工業(yè)出版社,2021.

[7] 強(qiáng)力,李灶娥,魏丹丹,等.SSM框架下的果蔬信息管理系統(tǒng)設(shè)計(jì)[J].福建電腦,2021,37(9):99-101.

[8] 黑馬程序員.Bootstrap響應(yīng)式Web開發(fā)[M].北京:人民郵電出版社,2021.

【通聯(lián)編輯:謝媛媛】

猜你喜歡
農(nóng)產(chǎn)品信息技術(shù)農(nóng)業(yè)
國(guó)內(nèi)農(nóng)業(yè)
國(guó)內(nèi)農(nóng)業(yè)
國(guó)內(nèi)農(nóng)業(yè)
農(nóng)產(chǎn)品網(wǎng)店遭“打假”敲詐 價(jià)值19.9元農(nóng)產(chǎn)品竟被敲詐千元
擦亮“國(guó)”字招牌 發(fā)揮農(nóng)業(yè)領(lǐng)跑作用
新一代信息技術(shù)征稿啟示
打通農(nóng)產(chǎn)品出村“最先一公里”
新一代信息技術(shù)征稿啟示
新一代信息技術(shù)征稿啟示
農(nóng)產(chǎn)品爭(zhēng)奇斗艷