李孟津 楊 丹
(常州信息職業(yè)技術(shù)學(xué)院軟件與大數(shù)據(jù)學(xué)院,江蘇 常州213164)
在線(xiàn)招聘網(wǎng)站的主要功能是用戶(hù)來(lái)進(jìn)行找工作,它的基本流程是查找職位→制作簡(jiǎn)歷→投遞簡(jiǎn)歷,用戶(hù)使用通過(guò)在網(wǎng)站界面注冊(cè)獲取用戶(hù)賬號(hào)及密碼,即可使用相關(guān)功能,此外還可根據(jù)用戶(hù)的喜好推測(cè)出用戶(hù)可能喜歡的東西,優(yōu)先展出。
該在線(xiàn)招聘系統(tǒng)采用了SpringBoot 框架開(kāi)發(fā)技術(shù),可以更加便捷的編寫(xiě)代碼、配置、部署和監(jiān)控系統(tǒng),整個(gè)招聘系統(tǒng)的開(kāi)發(fā)設(shè)計(jì)結(jié)構(gòu)層次更加的清晰明了。使用Web 開(kāi)發(fā)框架成功實(shí)現(xiàn)了組件再用,也使得整個(gè)系統(tǒng)的性能得到了極大的優(yōu)化,同時(shí)系統(tǒng)應(yīng)用Flexigrid 控件技術(shù)一定程度上的縮減了程序代碼,同時(shí)也降低了錯(cuò)誤問(wèn)題出現(xiàn)的概率;使用log4j 日志追蹤,可以有效地對(duì)代碼進(jìn)行追蹤,監(jiān)控代碼運(yùn)行過(guò)程,主要的就是這帶給程序員很多的好處,減少一些多余的麻煩,方便對(duì)系統(tǒng)進(jìn)行維護(hù)管理。
SpringBoot 實(shí)現(xiàn)了自動(dòng)配置,降低了項(xiàng)目搭建的復(fù)雜度。非常適合完成基于B/ S 的信息系統(tǒng)開(kāi)發(fā),具備如下優(yōu)點(diǎn):
(1)SpringBoot 是一些庫(kù)的集合,可被任何一項(xiàng)目所使用。創(chuàng)建獨(dú)立的Spring 應(yīng)用程序,且基于其Maven 插件,創(chuàng)建可執(zhí)行的JARs 和WARs;
(2)內(nèi)嵌Tomcat 等Servlet 容器;
(3)提供自動(dòng)配置的"starter"項(xiàng)目對(duì)象模型(POMS)以簡(jiǎn)化Maven 配置;
(4)盡可能自動(dòng)配置Spring 容器;
(5)提供準(zhǔn)備好的特性,如指標(biāo)、健康檢查和外部化配置,提供有命令行界面,用來(lái)運(yùn)行和測(cè)試;
(6)絕對(duì)沒(méi)有代碼生成,不需要XML 配置。
前端采用vue 前端技術(shù)實(shí)現(xiàn)雙向數(shù)據(jù)綁定,有利于后期維護(hù)和升級(jí)。Vue.js 是一個(gè)輕量級(jí)的漸進(jìn)式框架,它的核心庫(kù)只關(guān)注視圖層,學(xué)習(xí)起來(lái)非常的容易方便,還很容易與其它的庫(kù)或者是已經(jīng)存在的項(xiàng)目進(jìn)行整合。
提供簡(jiǎn)單的API 來(lái)實(shí)現(xiàn)很多功能。用于構(gòu)建用戶(hù)界面,可以自底向上逐層應(yīng)用的漸進(jìn)式前端框架。相比于其他主流的框架,其具有運(yùn)行效率高、語(yǔ)言簡(jiǎn)潔、占用空間小、上手容易等特點(diǎn)。
通過(guò)對(duì)在線(xiàn)招聘網(wǎng)站的需求調(diào)研,得到所需要的功能需求,說(shuō)明如下:
在線(xiàn)招聘網(wǎng)站主要的功能模塊為:應(yīng)聘方模塊、招聘方模塊和管理員模塊。
注冊(cè)登錄:提供用戶(hù)的登錄和注冊(cè)功能。普通用戶(hù)在登錄的時(shí)候需要進(jìn)行檢測(cè)并校驗(yàn)系統(tǒng)數(shù)據(jù)庫(kù)中是否已存在注冊(cè)用戶(hù)的有關(guān)信息,有則可以登錄系統(tǒng),反之則需要注冊(cè)用戶(hù)信息然后再登錄,成功進(jìn)入系統(tǒng)后可以進(jìn)行的操作主要有查找工作職位操作和投遞簡(jiǎn)歷以及個(gè)人簡(jiǎn)歷的修改,個(gè)人信息的更改并且還進(jìn)行與內(nèi)部動(dòng)態(tài)與行業(yè)鏈接的維護(hù)與更新,若數(shù)據(jù)庫(kù)里沒(méi)有信息,則需用戶(hù)注冊(cè)。
完善簡(jiǎn)歷:應(yīng)聘者能夠按照不同的招聘信息來(lái)進(jìn)行簡(jiǎn)歷填寫(xiě)。
職位查找:系統(tǒng)提供搜索職位功能,基于用戶(hù)和基于項(xiàng)目協(xié)同過(guò)濾推薦算法推薦職位。
投遞簡(jiǎn)歷:系統(tǒng)提供投遞簡(jiǎn)歷功能,用戶(hù)可自行選擇心儀的招聘公司投遞自己的信息。
修改簡(jiǎn)歷:能夠隨時(shí)對(duì)自己所填寫(xiě)的簡(jiǎn)歷進(jìn)行修改。
查看簡(jiǎn)歷:可以查看應(yīng)聘方投遞的簡(jiǎn)歷。
需求發(fā)布:發(fā)布本單位的需求信息。
修改發(fā)布:對(duì)已發(fā)布的需求進(jìn)行修改。
公告管理:編輯、修改、發(fā)布公告信息。
審核模塊:審核招聘方和應(yīng)聘方的注冊(cè)。
系統(tǒng)設(shè)計(jì)技術(shù)采用SpringBoot+MyBatis+Mysql 整合,靈活易上手,編寫(xiě)好可以在很多環(huán)境下運(yùn)行,方便存取數(shù)據(jù)庫(kù),保護(hù)數(shù)據(jù)等等。該框架將整個(gè)系統(tǒng)分為表現(xiàn)層、業(yè)務(wù)層、數(shù)據(jù)持久層。分層結(jié)構(gòu)將用戶(hù)界面、業(yè)務(wù)邏輯和數(shù)據(jù)進(jìn)行了分離,以靈活、快速地響應(yīng)業(yè)務(wù)需求的變化,幫助開(kāi)發(fā)者快速啟動(dòng)一個(gè)Web 容器,簡(jiǎn)化了使用Spring 的過(guò)程。
各層實(shí)現(xiàn)功能說(shuō)明:
View 層是與用戶(hù)的交互層,通過(guò)瀏覽器,負(fù)責(zé)獲取用戶(hù)有關(guān)的訪(fǎng)問(wèn)請(qǐng)求和信息,并遞交請(qǐng)求和數(shù)據(jù),服務(wù)器接收這個(gè)請(qǐng)求,調(diào)用合適的組件,后臺(tái)的響應(yīng)數(shù)據(jù),顯示相關(guān)的頁(yè)面并返回給客戶(hù)層。與此同時(shí)也給客戶(hù)提供了javascript 的驗(yàn)證。
Control 層負(fù)責(zé)項(xiàng)目中業(yè)務(wù)功能實(shí)現(xiàn)流程的管理。業(yè)務(wù)邏輯層實(shí)現(xiàn)并提供了系統(tǒng)所需的業(yè)務(wù)邏輯方法。
Model 層主要是一些實(shí)現(xiàn)具體業(yè)務(wù)功能的類(lèi),Mybatis 為業(yè)務(wù)邏輯層數(shù)據(jù)存取的方法。
如圖1 所示。
SpringMVC 框架中業(yè)務(wù)流程為:
圖1 基于SpringBoot 與vue 的整合框架
表示層是用戶(hù)與系統(tǒng)直接進(jìn)行交互的界面。負(fù)責(zé)收集用戶(hù)請(qǐng)求并返回處理結(jié)果頁(yè)面。
業(yè)務(wù)層是由業(yè)務(wù)邏輯對(duì)象組成,是系統(tǒng)的核心。實(shí)現(xiàn)并提供了系統(tǒng)所需要的業(yè)務(wù)邏輯方法。
持久層由數(shù)據(jù)訪(fǎng)問(wèn)對(duì)象(Data Access Objects)組成,這些數(shù)據(jù)訪(fǎng)問(wèn)對(duì)象提供對(duì)領(lǐng)域(Domain Object)基本的創(chuàng)建、查詢(xún)、修改和刪除等操作。本系統(tǒng)有Mybatis 實(shí)現(xiàn)數(shù)據(jù)持久層,為業(yè)務(wù)邏輯層數(shù)據(jù)存取的方法,實(shí)現(xiàn)數(shù)據(jù)庫(kù)數(shù)據(jù)的增、刪、改、查操作。
本文以求職模塊為例說(shuō)明系統(tǒng)的實(shí)現(xiàn)過(guò)程。該模塊的功能是用戶(hù)選擇職位,完善簡(jiǎn)歷進(jìn)行簡(jiǎn)歷投遞。
求職功能通過(guò)用戶(hù)選擇職位點(diǎn)擊后提交給SpringMVC 的PositionController 處理,處理結(jié)束后重新刷新文件列表。
SpringMVC 的表現(xiàn)層如下:
求職的業(yè)務(wù)層處理求職過(guò)程的業(yè)務(wù)邏輯,作為中間層起到一個(gè)連接表現(xiàn)層與持久層的作用,向上接收職位名稱(chēng),向下可以接收和傳遞持久層的數(shù)據(jù)。通過(guò)業(yè)務(wù)層將表示層與數(shù)據(jù)處理分離開(kāi)來(lái),可以降低系統(tǒng)的耦合度。在本系統(tǒng)中主要利用Spring框架構(gòu)建業(yè)務(wù)層,通過(guò)使用注解的方式調(diào)用。
權(quán)限管理持久化實(shí)現(xiàn)通過(guò)PositionServiceImpl 類(lèi)實(shí)現(xiàn),實(shí)現(xiàn)代碼如下。
基于SpringBoot 架構(gòu)設(shè)計(jì)開(kāi)發(fā)的在線(xiàn)招聘網(wǎng)站系統(tǒng)通過(guò)實(shí)際試運(yùn)行,表現(xiàn)良好。SpringBoot 框架通過(guò)vue 實(shí)現(xiàn)網(wǎng)頁(yè)與用戶(hù)交互,通過(guò)SpringMVC 負(fù)責(zé)在表示層中處理頁(yè)面的請(qǐng)求和轉(zhuǎn)發(fā)工作;通過(guò)Spring 容器管理機(jī)制負(fù)責(zé)在業(yè)務(wù)層處理業(yè)務(wù)邏輯工作;通過(guò)Mybatis 完成在持久層與數(shù)據(jù)庫(kù)的交互工作。這樣形成一個(gè)結(jié)構(gòu)良好、功能強(qiáng)大、層次清晰的框架體系。SpringBoot 框架能簡(jiǎn)化系統(tǒng)的開(kāi)發(fā),可以有效的降低各層之間的耦合度,提高系統(tǒng)的可維護(hù)性。