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