曾勁濤,斯恩昊,龍滿生,付 青
基于Spring Boot框架的井岡蜜柚管理系統(tǒng)設(shè)計(jì)與實(shí)現(xiàn)
*曾勁濤1,2,斯恩昊1,龍滿生1,2,付 青1,2
(1. 井岡山大學(xué)電子與信息工程學(xué)院,江西,吉安 343009;2.江西省農(nóng)作物生長物聯(lián)網(wǎng)技術(shù)工程實(shí)驗(yàn)室,江西,吉安 343009)
井岡蜜柚產(chǎn)業(yè)是吉安市六大富民產(chǎn)業(yè)之首和扶貧攻堅(jiān)的首選產(chǎn)業(yè)。目前,該產(chǎn)業(yè)在生產(chǎn)階段仍采用粗放型管理模式,為向精細(xì)化管理模式轉(zhuǎn)型,急需建立信息化管理平臺作為技術(shù)支撐。開發(fā)了一個基于Web的井岡蜜柚管理系統(tǒng),實(shí)現(xiàn)了對果樹的樣區(qū)和樣地管理、基礎(chǔ)信息管理、健康信息管理和統(tǒng)計(jì)分析等核心功能。該系統(tǒng)采用了前后端分離的開發(fā)模式,前端和后端分別采用了主流的Vue.js框架和Spring Boot框架,持久層采用了MyBatis框架,數(shù)據(jù)庫采用了MySQL。該系統(tǒng)具有較好的可操作性、安全性、可維護(hù)性和擴(kuò)展性,已部署于騰訊云并在企業(yè)中測試使用。
井岡蜜柚管理;Spring Boot;Vue.js; MyBatis;B/S結(jié)構(gòu)
井岡蜜柚是吉安市生產(chǎn)栽培的優(yōu)質(zhì)蜜柚果品的統(tǒng)稱,以“井岡”作為品牌,以選育的桃溪蜜柚、金沙柚、金蘭柚等 3個優(yōu)良品系作為主導(dǎo)品種[1]。近幾年來,在國家、省有關(guān)部門的大力支持下,吉安市井岡蜜柚產(chǎn)業(yè)得到了較快的發(fā)展,已被列為吉安市六大富民產(chǎn)業(yè)之首和扶貧攻堅(jiān)的首選產(chǎn)業(yè)。據(jù)統(tǒng)計(jì),2018 年全市井岡蜜柚總面積2.67萬公頃,投產(chǎn)面積3333.33公頃,總產(chǎn)量4.5萬噸[2]。目前該產(chǎn)業(yè)在生產(chǎn)階段仍采用粗放型管理模式,對于大面積果園,管理主要憑經(jīng)驗(yàn),缺少果樹的個性化數(shù)據(jù),較難實(shí)現(xiàn)對果樹的個性化逐株管理,對蜜柚的質(zhì)量和產(chǎn)量會帶來不利影響。針對井岡蜜柚果業(yè)由粗放型管理模式向精細(xì)化管理模式轉(zhuǎn)型,有必要建立一個信息管理平臺,以支撐果樹個性化管理的實(shí)施。
目前已有不少基于各種技術(shù)開發(fā)的果園管理系統(tǒng)或平臺。劉宇[3]基于ASP.NET開發(fā)了一個果園業(yè)務(wù)信息管理系統(tǒng)。茍喻[4]采用了VB為開發(fā)語言,以ArcGIS Engine為二次開發(fā)平臺,結(jié)合ORACLE數(shù)據(jù)庫開發(fā)了一套基于ArcGIS Engine的柑橘果園管理系統(tǒng)。董希玲[5]利用ASP.Net2.0和SQL Server 2005數(shù)據(jù)庫,開發(fā)了一個蘋果果園信息管理系統(tǒng)。曲飛宇[6]采用了.NET開發(fā)平臺和SQL Server 2014數(shù)據(jù)庫開發(fā)了一套果園管理系統(tǒng)?,F(xiàn)有的系統(tǒng)仍存在一些問題。VB開發(fā)環(huán)境的許多功能是通過調(diào)用已集成的Windows模塊或 Dll實(shí)現(xiàn)的,這些模塊無法二次編輯,因而對Windows系統(tǒng)的底層操作極其不便。而.NET框架對跨平臺的支持較差。ASP.NET通常采用WebForm框架,頁面打開速度較慢,而且不易測試和維護(hù)。Spring Boot框架[7]是近年來逐漸流行的一種開發(fā)框架,具有可快速構(gòu)建項(xiàng)目、可對主流開發(fā)框架的無配置集成、可提供運(yùn)行時的應(yīng)用監(jiān)控、開發(fā)和部署效率高、可與云計(jì)算天然集成等優(yōu)點(diǎn)。目前Spring Boot框架技術(shù)已較廣泛地應(yīng)用于Web系統(tǒng)開發(fā),例如教代會提案系統(tǒng)[8]、人事信息發(fā)布系統(tǒng)[9]、閱讀網(wǎng)站的設(shè)計(jì)[10]和食堂訂單管理系統(tǒng)[11]等。將Spring Boot框架技術(shù)用于開發(fā)果園管理系統(tǒng)的工作仍較少。
本系統(tǒng)開發(fā)采用了Spring Boot框架,以簡化新Spring應(yīng)用的初始搭建以及開發(fā)過程。該框架可創(chuàng)建獨(dú)立的Spring應(yīng)用程序,內(nèi)嵌Tomcat和Jetty等Servlet容器,提供自動配置的Starter項(xiàng)目對象模型以簡化配置,可自動配置Spring和第三方庫,提供指標(biāo)衡量、健康檢查和外部化配置等產(chǎn)品級特性,不產(chǎn)生多余的代碼并且無需XML配置。本系統(tǒng)采用了主流的瀏覽器/服務(wù)器(B/S)結(jié)構(gòu),使用戶能夠通過瀏覽器訪問,無需安裝其他應(yīng)用軟件。系統(tǒng)的前臺頁面設(shè)計(jì)以簡潔為核心,使用了漸進(jìn)式框架Vue.js,具有雙向數(shù)據(jù)綁定、組件化開發(fā)等優(yōu)點(diǎn)。采用了MyBatis持久層框架,方便業(yè)務(wù)功能的擴(kuò)展和系統(tǒng)的維護(hù)。
系統(tǒng)開發(fā)工具采用了IntelliJ IDEA和VSCode;Web服務(wù)器和數(shù)據(jù)庫分別為Tomcat7.0和MySQL5.6;Spring Boot框架的版本為2.3.4;Vue.js的版本為2.0;MyBatis框架的版本為3.5.3;接口測試工具為Postman7.36.5;項(xiàng)目管理工具為先進(jìn)的分布式版本控制系統(tǒng)Git2.28.0。
為實(shí)現(xiàn)井岡蜜柚果樹的精細(xì)化管理,本系統(tǒng)設(shè)計(jì)了果樹管理、樣區(qū)管理和統(tǒng)計(jì)管理三大主功能模塊和若干子功能模塊,如圖1所示。“疾病信息管理”子功能模塊主要實(shí)現(xiàn)對果樹疾病信息的管理,包括疾病信息的查詢、添加、編輯和刪除功能。“基礎(chǔ)信息管理”子功能模塊主要實(shí)現(xiàn)對果樹基礎(chǔ)信息的管理,包括果樹信息的查詢、添加、編輯和刪除功能?!皹訁^(qū)管理”子功能模塊主要實(shí)現(xiàn)對不同地區(qū)或地點(diǎn)的果園信息的管理,包括樣區(qū)信息的查詢、添加、編輯和刪除功能?!皹拥毓芾怼弊庸δ苣K主要實(shí)現(xiàn)對某樣區(qū)內(nèi)各塊樣地信息的管理,包括樣地信息的查詢、添加、編輯和刪除功能;“統(tǒng)計(jì)顯示”子功能模塊可按樣區(qū)、樣地、品種和果樹年齡進(jìn)行單個條件的統(tǒng)計(jì)或多個條件的聯(lián)合統(tǒng)計(jì),統(tǒng)計(jì)結(jié)果為各品種果樹的數(shù)量。后期還將增加果樹病害信息的統(tǒng)計(jì)。
圖1 系統(tǒng)功能模塊圖
2.2.1 概念結(jié)構(gòu)設(shè)計(jì)
針對系統(tǒng)數(shù)據(jù)庫的概念結(jié)構(gòu)設(shè)計(jì),設(shè)計(jì)了樣區(qū)實(shí)體、樣地實(shí)體、果樹信息實(shí)體和疾病信息實(shí)體4個實(shí)體,其實(shí)體關(guān)聯(lián)圖(E-R圖)如圖2所示。
圖2 數(shù)據(jù)庫 E-R 圖
2.2.2 物理結(jié)構(gòu)設(shè)計(jì)
依據(jù)數(shù)據(jù)庫概念結(jié)構(gòu)設(shè)計(jì)的E-R圖,設(shè)計(jì)相應(yīng)的物理結(jié)構(gòu),如圖3所示。其中“患病”表由果樹信息表和疾病信息表關(guān)聯(lián)產(chǎn)生。
圖3 數(shù)據(jù)庫物理模型
果樹管理功能模塊包含基礎(chǔ)信息管理和疾病信息管理2個子功能模塊?;A(chǔ)信息管理模塊實(shí)現(xiàn)了對果樹基礎(chǔ)信息的查詢、添加、編輯和刪除功能。果樹查詢功能既可通過果樹編號進(jìn)行精確查詢,也可通過樣區(qū)或樣地進(jìn)行模糊查詢。果樹添加功能可通過對話框輸入果樹所在樣區(qū)和樣地、品種、年齡等基礎(chǔ)信息來完成。果樹編輯功能可對果樹除編號以外的其余基礎(chǔ)信息進(jìn)行修改。果樹基礎(chǔ)信息管理的操作界面如圖4所示。疾病信息管理模塊實(shí)現(xiàn)了對果樹疾病信息的查詢、添加、編輯和刪除功能。疾病查詢功能即可通過果樹編號進(jìn)行精確查詢,也可通過疾病所屬的脅迫類型或疾病創(chuàng)建時間進(jìn)行模糊查詢。疾病添加功能可通過對話框輸入果樹編號、疾病所屬的脅迫類型、疾病程度和創(chuàng)建時間等屬性信息來完成。疾病編輯功能可對疾病除創(chuàng)建時間以外的其余屬性信息進(jìn)行修改。果樹疾病信息管理的操作界面如圖5所示。
圖4 果樹基礎(chǔ)信息界面
圖5 果樹疾病管理界面
樣區(qū)管理功能模塊包含樣區(qū)編輯和樣地編輯兩個子功能模塊。樣區(qū)編輯功能模塊實(shí)現(xiàn)了樣區(qū)信息的查詢、添加、編輯和刪除。樣區(qū)的查詢方式有兩種,一種是輸入樣區(qū)名稱進(jìn)行模糊查詢,另一種是通過級聯(lián)下拉框選擇省、市、縣或鄉(xiāng)鎮(zhèn)進(jìn)行查詢。樣區(qū)添加功能可通過對話框輸入樣區(qū)名稱、所在省、市、縣或鄉(xiāng)鎮(zhèn)和詳細(xì)地址等屬性信息來完成;樣區(qū)編輯功能可對樣區(qū)除編號以外的其余屬性信息進(jìn)行修改。1個樣區(qū)可按果樹的品種或年齡劃分為多塊樣地。樣地添加功能可通過對話框輸入樣地名稱、所屬樣區(qū)和樣地詳情等屬性信息來完成。樣地的查詢、編輯和刪除可通過操作界面的輸入框或按鈕來完成。樣區(qū)管理的操作界面如圖6所示。
圖6 樣區(qū)管理界面
統(tǒng)計(jì)功能是通過MyBatis框架,使用SQL對數(shù)據(jù)進(jìn)行分類匯總,將分類匯總后的數(shù)據(jù)渲染到前端頁面,MyBatis實(shí)現(xiàn)統(tǒng)計(jì)功能的核心代碼如下:
統(tǒng)計(jì)功能可依據(jù)樣地、樣區(qū)、品種或果樹年齡段4個條件進(jìn)行單個條件統(tǒng)計(jì)或多個條件聯(lián)合統(tǒng)計(jì),默認(rèn)顯示所有樣區(qū)各個品種果樹的數(shù)量,如圖7所示。僅輸入樣區(qū)時,會顯示該樣區(qū)內(nèi)各個品種果樹的數(shù)量。
圖7 根據(jù)樣地統(tǒng)計(jì)結(jié)果
Fig.7 Statistics by sample plot
該井岡蜜柚管理系統(tǒng)特色性地實(shí)現(xiàn)了對果樹的逐株管理功能,為果樹精細(xì)化管理提供了較好的信息技術(shù)支撐,有助于提升果樹養(yǎng)護(hù)的質(zhì)量和效率。同時,本系統(tǒng)設(shè)計(jì)采用了高度封裝的Java代碼和通用的業(yè)務(wù)邏輯,只需少量修改就可改造成通用的果園管理系統(tǒng),因而具有良好的適應(yīng)性和擴(kuò)展性。目前該系統(tǒng)已部署于騰訊云服務(wù)器,并在吉安市井岡蜜柚生產(chǎn)企業(yè)中測試使用,受到了較好的評價。后期還將對該系統(tǒng)進(jìn)行升級,例如在前端處理中使用響應(yīng)式布局、使用第三方登錄接口等,以進(jìn)一步提升系統(tǒng)使用的便捷性和美觀性;同時也考慮增加二維碼功能模塊,開發(fā)微信小程序?qū)崿F(xiàn)果樹二維碼識別、果樹疾病信息維護(hù)等核心功能。
[1] 趙曉東.吉安市井岡蜜柚產(chǎn)業(yè)發(fā)展現(xiàn)狀與展望[J].現(xiàn)代園藝, 2016(7):39-40.
[2] 王芳飛. 吉安市井岡蜜柚產(chǎn)業(yè)發(fā)展現(xiàn)狀及建議[J]. 現(xiàn)代農(nóng)業(yè)科技, 2020(8):94-95.
[3] 劉宇.果園業(yè)務(wù)信息管理軟件設(shè)計(jì)與實(shí)現(xiàn)[D].北京:北京工業(yè)大學(xué),2016:1-5.
[4] 茍喻.基于ArcGIS Engine的重慶市柑橘果園管理系統(tǒng)的建立和研究[D].重慶:西南大學(xué),2007:3-7.
[5]董希玲.蘋果果園管理信息系統(tǒng)的構(gòu)建[D].保定:河北農(nóng)業(yè)大學(xué),2010:6-7.
[6] 曲飛宇.“互聯(lián)網(wǎng)+”背景下的果園管理系統(tǒng)的設(shè)計(jì)與實(shí)現(xiàn)[D].武漢:華中師范大學(xué),2019:4-12.
[7] 張峰.應(yīng)用 SpringBoot 改變 web 應(yīng)用開發(fā)模式[J].科技創(chuàng)新與應(yīng)用,2017(23):193-194.
[8] 顏治平.基于SpringBoot和Vue框架的教代會提案系統(tǒng)的設(shè)計(jì)與實(shí)現(xiàn)[J].科技創(chuàng)新與應(yīng)用,2020(3):91-95.
[9] 張恒銘.基于SpringBoot+MyBatis框架的高校人事信息發(fā)布系統(tǒng)設(shè)計(jì)與實(shí)現(xiàn)[J].電腦知識與技術(shù),2020,16(18):68-70.
[10] 鄧惠俊.基于 Spring和MyBatis框架的閱讀網(wǎng)站的設(shè)計(jì)與實(shí)現(xiàn)[J].信息與電腦,2021,33(4):97-99.
[11] 邱丹萍.應(yīng)用SpringBoot的食堂訂餐管理系統(tǒng)設(shè)計(jì)[J].福建電腦,2020,36(6):115-117.
DESIGN AND IMPLEMENTATION OF JINGGANG HONEY POMELO MANAGEMENT SYSTEM BASED ON SPRING BOOT FRAMEWORK
*ZENG Jin-tao1,2, SI En-hao1, LONG Man-sheng1,2, FU Qing1,2
(1. School of Electronics and Information Engineering, Jinggangshan University, Ji’an, Jiangxi 343009, China;2. Jiangxi Engineering Laboratory of IoT Technologies for Crop Growth, Ji’an, Jiangxi 343009, China)
Jinggang honey pomelo industry ranks first among the six industries for enriching the people in Ji’an City and is the best one for poverty alleviation. In this industry, extensive management is still adopted for care of the trees. In order to transform it into elaborating management, it is inevitable to set up an information management platform for this industry. In this paper, a set of management system was developed to increase quality and efficiency of caring the pomelo trees. Some key function modules including division of trees by sample area or sample plot, basic information management, disease management and statistic management were implemented. In this system, a development mode of separation of front-end and back-end was applied. Vue.js framework and Spring Boot framework were used in the front-end and in the back-end respectively, and Mybatis framework was used in the persistence layer, Mysql was used in database management. This system has been deployed in tencent cloud and been tested in a pomelo enterprise, and shows good operablity, safety, maintainability and expansibility.
Jinggang honey pomelo management; Spring Boot; Vue.js; MyBatis; B/S structure
1674-8085(2022)02-0082-06
TM311
A
10.3969/j.issn.1674-8085.2022.02.013
2021-08-28;
2021-10-05
江西省教育廳科技計(jì)劃項(xiàng)目(GJJ190565)
*曾勁濤(1978-),男,江西吉安人,副教授,碩士,主要從事計(jì)算機(jī)應(yīng)用研究(E-mail: rarehorse@163.com).