周常志 甘恒
摘要:隨著網(wǎng)絡(luò)的發(fā)展,互聯(lián)網(wǎng)已經(jīng)進(jìn)入各行各業(yè),為了給用戶提供更好、更有效,更優(yōu)質(zhì)的就業(yè)服務(wù),本地開發(fā)區(qū)和當(dāng)?shù)仄髽I(yè)合作建設(shè)的這個平臺。這是一個主要采用的后端SpringBoot框架和前端Vue框架技術(shù)來實(shí)現(xiàn),以SpringSecurity來做權(quán)限管理前后端分離的平臺項(xiàng)目。提高了開發(fā)效率和系統(tǒng)的可維護(hù)性,該文探討了智慧就業(yè)平臺的設(shè)計與實(shí)現(xiàn),有效地提高了就業(yè)問題,有一定的應(yīng)用和推廣價值。
關(guān)鍵詞:計算機(jī)科學(xué)與技術(shù);就業(yè)服務(wù);SpringBoot;SpringSecurity;Vue
中圖分類號:TP311? ? ? 文獻(xiàn)標(biāo)識碼:A
文章編號:1009-3044(2021)28-0182-03
開放科學(xué)(資源服務(wù))標(biāo)識碼(OSID):
Design and Implementation of Smart Employment Service Platform Based on SpringBoot
ZHOU Chang-zhi, GAN Heng
(School of Computer Science, Yangtze University, Jingzhou 434000, China)
Abstract: With the growth of the network, the Internet has got into every walk of life. For the sake of providing users with better, more impactful and better employment services, this platform is established by local areas for development and local corporations. This is a platform item that primarily adopts the back-end SpringBoot frame and front-end Vue frame technique to realize, and adopts SpringSecurity to make the separation of front-end and back-end authority supervision. This article talks over the devise and realization of the intelligent employment platform, which impactfully raises the employment matter, and has certain application and promotion value.
Key words: computer science and technology; employment service; SpringBoot; SpringSecurity; Vue
1 背景
就業(yè)一直都是關(guān)乎民生的重要事情,無論是基層人民,還是受過高等教育的學(xué)生,都需要一份安穩(wěn)的工作來生存。因?yàn)榘l(fā)展,當(dāng)?shù)亻_發(fā)區(qū)和企業(yè)合作開發(fā)了一個智慧就業(yè)服務(wù)平臺,旨在幫助當(dāng)?shù)厝嗣裾业揭环莺玫墓ぷ鳎矠槠髽I(yè)尋覓到合適的員工。用戶通過注冊可以搜索空缺的崗位,并投出簡歷。而一些企業(yè)也可以在此平臺上發(fā)布崗位和尋找員工。這個平臺以荊州為例,使用當(dāng)前比較流行的SpringBoot框架和Vue框架來完成整個就業(yè)服務(wù)平臺的設(shè)計與實(shí)現(xiàn)。
2 相關(guān)技術(shù)
2.1 SpringBoot框架
SpringBoot框架是由Spring升級而來的,它簡化了Spring的搭建和開發(fā)過程,沒有了一些復(fù)雜的配置,提供了大量的注解,使得用戶開箱就能得到很好的使用,內(nèi)嵌了Tomcat服務(wù)器,支持jar/war項(xiàng)目打包方式,可以實(shí)現(xiàn)項(xiàng)目快速部署,較好地提升了開發(fā)的速度,便于開發(fā)人員將更多的開發(fā)時間花費(fèi)在業(yè)務(wù)功能上,提高了業(yè)務(wù)功能的質(zhì)量[1]。
2.2 SpringSecurity權(quán)限管理
Spring Security是一個自定義比較高的安全框架。提供了安全訪問控制功能,使得開發(fā)人員在開發(fā)過程中可以少編寫很多不必要的重復(fù)代碼,同時也使得系統(tǒng)更加的安全。選擇SpringSecurity是因?yàn)樗泻芏嗟氖褂脙?yōu)勢,給一些經(jīng)典的企業(yè)應(yīng)用場合提供了較好的安全保護(hù)。而且也注意到了到它們在 WAR 或 EAR 級別不能移植。假如你需要變更服務(wù)器環(huán)境,還需要做很多操作去改變應(yīng)用程序的環(huán)境配置。而Spring Security就能較好地解決這些常見的問題,當(dāng)然也會提供一些其他的比較實(shí)用、可以自行選擇的安全功能。
Spring Security是屬于Spring集體中的一部分。在Spring的基礎(chǔ)上為一些項(xiàng)目系統(tǒng)提供了較好的安全控制功能。它準(zhǔn)備了一些應(yīng)用中需要的配置文件,使用控制反轉(zhuǎn)和切面編程的功能,為項(xiàng)目系統(tǒng)提供了較好的安全訪問控制功能,使得開發(fā)人員在開發(fā)過程中可以少編寫很多不必要的重復(fù)代碼。“認(rèn)證”和“授 權(quán)”(或者訪問控制)是 Spring Security 重要核心功能。其中最重要的就是一組過濾器,當(dāng)項(xiàng)目啟動時,一些配置就會伴隨著完成,Basic Authentication Filter便是認(rèn)證時最重要的環(huán)節(jié),在權(quán)限控制中,過濾器和認(rèn)證方式是一一對應(yīng)的。其過程如圖1所示。
2.3 Vue
Vue是一種編寫界面的前端框架,與之前的常見框架有所不同,Vue是使用從下往上開發(fā)的設(shè)計。Vue的作用和主要是編寫視圖層,對于新手來說比較好上手,也可以與之前的庫和項(xiàng)目聯(lián)合使用。并且,Vue能使用單文件和Vue本身支持的庫來設(shè)計的比較復(fù)雜的應(yīng)用。Vue是一個輕量級的框架,是用雙向數(shù)據(jù)綁定方式,此外還與比較流行的ElementUI框架結(jié)合使用[2]。
2.4 MyBatis-Plus
MyBatis-Plus是一個MyBatis的增強(qiáng)工具,在保留MyBatis的功能下,將MyBatis中的一些功能進(jìn)行進(jìn)一步的強(qiáng)化,可以了縮短開發(fā)時間,促進(jìn)開發(fā)。MyBatis-Plus封裝了常見的CRUD操作,并且包含了防SQL注入、分頁插件,以及ActiveRecord等功能,Active Record 可以使數(shù)據(jù)對象與數(shù)據(jù)庫中的表進(jìn)行映射。MyBatis-Plus中還有很多功能插件,比如自動代碼生成、代碼的自動填充、分頁功能,還有邏輯刪除、樂觀鎖插件等。MyBatis-Plus的內(nèi)部流程圖如圖2所示。
3 系統(tǒng)設(shè)計與實(shí)現(xiàn)
智慧就業(yè)平臺主要是為了解決人們的就業(yè)情況和企業(yè)的員工需求,根據(jù)這些需求一共分為四個模塊,有個人服務(wù)平臺、企業(yè)用工平臺、監(jiān)管服務(wù)平臺以及后臺管理,其中,個人業(yè)務(wù)服務(wù)平臺的功能要復(fù)雜一些,各種基本的配置都在其中,比如權(quán)限管理,接口文檔swagger和redis緩存數(shù)據(jù)庫的配置,還有全局異常處理和統(tǒng)一返回結(jié)果的封裝。
平臺使用的是SpringBoot框架,使用的是Web[3-4]中的MVC[5]的三層架構(gòu)模式,分為三層:表示層、業(yè)務(wù)層邏輯層和數(shù)據(jù)交互層。在實(shí)際開發(fā)過程中,使用的是Spring MVC[6],更加細(xì)化一些,前端界面與后端操作通過接口進(jìn)行聯(lián)系,控制層只是接口的定義,業(yè)務(wù)層是用來處理一些復(fù)雜的業(yè)務(wù)功能,數(shù)據(jù)庫層就是與數(shù)據(jù)庫的交互,各層分工明確,互不干擾,又互相合作,將整個業(yè)務(wù)流程給串聯(lián)起來。功能圖如圖3所示。
3.1 個人服務(wù)平臺
個人服務(wù)平臺有求職登記、簡歷填寫、職位搜索、在線咨詢、就業(yè)指導(dǎo)、意見反饋、失業(yè)登記、工傷認(rèn)定申請、勞動爭議調(diào)解和大學(xué)生就業(yè)創(chuàng)業(yè)等十大功能。這里的求職登記中使用了redis來進(jìn)行驗(yàn)證碼的檢查,此外還通過了一些基礎(chǔ)的判斷,密碼的加密是使用了SpringSecurity的PasswordEncoder來進(jìn)行加密。此外職位搜索是使用了MyBatis-Plus的分頁加條件查詢,在線咨詢是使用了WebSocket來進(jìn)行通信,郵件的發(fā)送是使用了Mail方式。個人服務(wù)平臺主要是對個人用的服務(wù),失業(yè)人員和求職人員都可以通過個人服務(wù)查詢職位,提交簡歷,還可以在線咨詢,尋求意見,也會有專業(yè)人士來解答,為了保障用戶的權(quán)益,個人服務(wù)模塊還有工商申請和爭議調(diào)解,切實(shí)地為個人用戶服務(wù),此外還有人性化的大學(xué)生創(chuàng)業(yè),聯(lián)合當(dāng)?shù)卣?,對?chuàng)業(yè)的大學(xué)生會給予一定的幫助和扶持。展示圖如圖4所示。
3.2 企業(yè)用工平臺
企業(yè)用工平臺一共有企業(yè)登錄、發(fā)布崗位、智能推薦、在線溝通、消息推送等五大功能,因?yàn)槭褂昧薓yBatis-Plus來做數(shù)據(jù)層面的交互,所以一些基礎(chǔ)的功能是不需要再寫sql語句了,MyBatis-Plus不僅能代碼自動生成,在生成時還產(chǎn)生了很多單標(biāo)操作的方法,若沒有業(yè)務(wù)處理,就可以直接在控制層調(diào)方法就行,也就是不需要再往業(yè)務(wù)層和數(shù)據(jù)庫層寫代碼。智能推薦是采用常用的模糊推薦的方式,在線溝通依然是采用的WebSocket。企業(yè)用工平臺主要是為企業(yè)服務(wù)的,很多企業(yè)可以在平臺上發(fā)布職位招聘信息,也可以與求職人員實(shí)時地進(jìn)行在線溝通。此模塊效果圖如圖5所示。
3.3 監(jiān)管服務(wù)平臺
監(jiān)管服務(wù)平臺主要有個人監(jiān)管、企業(yè)監(jiān)管、數(shù)據(jù)統(tǒng)計與分析、勞動合同、工傷認(rèn)定信息記錄、法律咨詢、技能培訓(xùn)、勞動爭議信息記錄、精準(zhǔn)推薦、政策宣傳、公示公告和工作動態(tài)等12個功能,其中使用到了EasyPOI的文件導(dǎo)入導(dǎo)出功能,該功能很是方便。主要是提供一些監(jiān)管和基本消息動態(tài)的推送服務(wù),監(jiān)管服務(wù)平臺主要是起著監(jiān)管個人用戶和企業(yè)以及雙方之間的調(diào)和作用,通過數(shù)據(jù)分析,對雙方進(jìn)行一些推送服務(wù),還有合同和爭議的記錄和監(jiān)管,相當(dāng)于可靠的第三方。此模塊效果圖如圖6所示。
3.4 后臺管理
后臺管理有人員管理、單位管理、角色管理、模塊管理、簡歷管理、行業(yè)類型管理、職位類型管理、權(quán)限管理和日志管理等較為常見的功能,后臺管理采取了一個后臺管理平臺的自動生成功能,減少了不少代碼量的編寫。主要是對后臺的一些基本數(shù)據(jù)和消息進(jìn)行統(tǒng)一的管理,后臺管理對前面幾個模塊產(chǎn)生的數(shù)據(jù)進(jìn)行統(tǒng)一規(guī)范的管理,便于維護(hù)人員后續(xù)對平臺進(jìn)行維護(hù)。此模塊效果圖如圖7所示。
4 平臺應(yīng)用
此智慧就業(yè)服務(wù)平臺是從2020年10月份開始開發(fā),一直到2021年3月份才結(jié)束,目前已經(jīng)投入使用,智慧就業(yè)服務(wù)平臺的適時出現(xiàn)就很好地幫助到要就業(yè)的人員,通過此平臺,個人的求職意向,企業(yè)公司的招需人員都一目了然,可以有效地幫助失業(yè)人員找到工作,也可以幫助企業(yè)招到所需人員,此外平臺還提供了監(jiān)管服務(wù),用于對個人和企業(yè)的監(jiān)督,還有一些法律的幫助和勞動合同的爭議調(diào)解,以及一些智能消息的推送??偟膩碚f,此智慧就業(yè)平臺是一個良好的服務(wù)平臺。
5 結(jié)束語
論文討論和開發(fā)了一個java語言的智慧就業(yè)服務(wù)平臺的設(shè)計與實(shí)現(xiàn),在適應(yīng)實(shí)施發(fā)展的情況下設(shè)計出來的一個平臺,給當(dāng)?shù)靥峁┝溯^好的就業(yè)需求,促進(jìn)了社會經(jīng)濟(jì)的發(fā)展。系統(tǒng)采用了當(dāng)前比較流行的SpringBoot+Vue框架設(shè)計出來的,采取前后端分離和分層的思想,便于功能的實(shí)現(xiàn)的和日后的擴(kuò)展。本人是第一次做項(xiàng)目,所以沒什么做項(xiàng)目的經(jīng)驗(yàn),剛開始動手很難,還是過年期間在網(wǎng)站上看了一下視頻,才明白這種前后端分離做項(xiàng)目的模式,相對本人以前接觸的Servlet+jsp以及SSM的模式來說,這種前后端分離的模式分工明確,確實(shí)很方便。
這個項(xiàng)目使用了與SpringBoot更加貼合的SpringSecurity來做權(quán)限管理[7],使得權(quán)限管理變得更好使用了,數(shù)據(jù)交互層采用MyBatis-Plus來做數(shù)據(jù)的增刪改查,而MyBatis-Plus插件的功能很是強(qiáng)大,不僅僅是可以代碼生成,還繼承了IService,生成了很多單表的增刪改查的方法,使得本人在開發(fā)過程中減少了很多不必要代碼的編寫,如果沒有什么業(yè)務(wù)操作的話,甚至可以直接在控制層掉方法就行了,就不需要往業(yè)務(wù)層和數(shù)據(jù)庫層編寫代碼了,此外本項(xiàng)目中還使用到了Mybatis-Plus的代碼自動填充和分頁的功能,其中的分頁功能也是很好用,不用像以
前分頁那么麻煩了,直接調(diào)用page方法傳參數(shù)就好了。然后在實(shí)際開發(fā)中本人學(xué)會了使用postman來測試接口的方法,后來還升級成用swagger接口文檔來測試接口方法,在實(shí)際開發(fā)過程中最讓我覺得重要的還是數(shù)據(jù)庫,當(dāng)數(shù)據(jù)庫設(shè)計好了之后,后臺的業(yè)務(wù)操作就會顯得簡潔一些。此智慧就業(yè)服務(wù)平臺已經(jīng)投入使用,這個系統(tǒng)的功能比較完善,目前運(yùn)行穩(wěn)定。
參考文獻(xiàn):
[1] 張峰.應(yīng)用SpringBoot改變web應(yīng)用開發(fā)模式[J].科技創(chuàng)新與應(yīng)用,2017(23):193-194.
[2] 熊永平.基于SpringBoot框架應(yīng)用開發(fā)技術(shù)的分析與研究[J].電腦知識與技術(shù),2019,15(36):76-77.
[3] 田軍.淺談jQuery技術(shù)在Web開發(fā)中的應(yīng)用[J].電子世界,2012(24):8.
[4] 柳明,楊豐.基于B/S模式的網(wǎng)絡(luò)考試系統(tǒng)設(shè)計與實(shí)現(xiàn)[J].電腦知識與技術(shù),2009,5(36):10166-10168.
[5] 易可可,陳志剛.基于MVC模式的Web OA系統(tǒng)設(shè)計與研究[J].計算機(jī)工程與應(yīng)用,2005,41(4):112-115.
[6] 張宇,王映輝,張翔南.基于Spring的MVC框架設(shè)計與實(shí)現(xiàn)[J].計算機(jī)工程,2010,36(4):59-62.
[7] 丁仲.用于RBAC權(quán)限管理的面向?qū)ο罂蚣躘D].北京:中國科學(xué)院研究生院(軟件研究所),2004.
【通聯(lián)編輯:謝媛媛】