<ul id="qxxfc"><fieldset id="qxxfc"><tr id="qxxfc"></tr></fieldset></ul>


      本文適合剛學(xué)習(xí)完 Java 語(yǔ)言基礎(chǔ)的人群,跟著本文可了解和運(yùn)行項(xiàng)目,本示例是在 Windows 操作系統(tǒng)下演示。



      本文作者:HelloGitHub-秦人

      大家好!這里是 HelloGitHub 推出的《講解開(kāi)源項(xiàng)目》 <https://github.com/HelloGitHub-Team/Article>
      系列,今天給大家?guī)?lái)一款基于 Java 語(yǔ)言的人力資源管理開(kāi)源項(xiàng)目——微人事

      微人事是一個(gè)前后端分離的人力資源管理系統(tǒng),項(xiàng)目采用 SpringBoot + Vue
      架構(gòu)。該系統(tǒng)是管理員對(duì)員工信息的一些列的操作。首先管理員需要登入系統(tǒng),可對(duì)員工信息進(jìn)行增刪查改操作,也可以對(duì)員工進(jìn)行獎(jiǎng)罰,工資等信息的增刪查改。然后實(shí)現(xiàn)對(duì)部門(mén)員工信息的統(tǒng)計(jì)和修改。所有的操作都在系統(tǒng)中有日志記錄。

      微人事的項(xiàng)目地址:https://github.com/lenve/vhr <https://github.com/lenve/vhr>

      想要快速搭建一套微人事管理系統(tǒng),那就跟著本文的步驟。你只需要花 10
      分鐘,就能擁有一個(gè)屬于自己的微人事管理系統(tǒng),并且可以對(duì)前后端分離的項(xiàng)目有一個(gè)完成的概念和感覺(jué)。下面是搭建完成的效果圖:



      一、技術(shù)棧

      微人事這個(gè)項(xiàng)目采用:

      1.1 后端技術(shù)棧

      *
      SpringBoot:SpringBoot 是基于 Spring4 進(jìn)行設(shè)計(jì),目的是為了簡(jiǎn)化 Spring 應(yīng)用的初始搭建以及開(kāi)發(fā)過(guò)程。
      該框架使用特定的方式(集成 starter,約定優(yōu)于配置)來(lái)進(jìn)行配置,從而使開(kāi)發(fā)人員不需要再定義樣板化的配置。

      *
      SpringSecurity:SpringSecurity 是一個(gè)強(qiáng)大的和高度可定制的身份驗(yàn)證和訪問(wèn)控制框架。它著重于為 Java
      應(yīng)用程序提供身份驗(yàn)證和授權(quán)。

      *
      MyBatis:MyBatis 是一款優(yōu)秀的持久層框架,它支持定制化 SQL、存儲(chǔ)過(guò)程以及高級(jí)映射。MyBatis 避免了幾乎所有的 JDBC
      代碼和手動(dòng)設(shè)置參數(shù)以及獲取結(jié)果集。

      *
      MySQL:MySQL 是一個(gè)輕量級(jí)關(guān)系型數(shù)據(jù)庫(kù)管理系統(tǒng),由瑞典 MySQL AB 公司開(kāi)發(fā),目前屬于 Oracle 公司。

      1.2 前端技術(shù)棧

      *
      Vue:Vue 是一套構(gòu)建用戶(hù)界面的漸進(jìn)式框架。 數(shù)據(jù)驅(qū)動(dòng),組件化是 Vue 的兩大核心思想。

      *
      ElementUI: ElementUI 時(shí)一套基于 Vue 2.0 的組件庫(kù),提供了配套設(shè)計(jì)資源。由餓了么公司前端團(tuán)隊(duì)開(kāi)源。

      *
      Axios:Axios 是一個(gè)基于 Promise 的 HTTP 庫(kù),可以用在瀏覽器和 Node.js 中。

      *
      Vue-router:Vue-router 是 Vue 的路由,根據(jù)不同的路徑映射到不同的視圖。

      二、項(xiàng)目結(jié)構(gòu)

      2.1 后端項(xiàng)目 hrserver 項(xiàng)目結(jié)構(gòu)如下圖:



      后端項(xiàng)目采用 MVC 模式,使用現(xiàn)在流行的 SpringBoot 框架。SpringBoot 是基于 SpringMVC
      衍生出來(lái)的框架。宗旨是較少配置,讓開(kāi)發(fā)者快速上手做項(xiàng)目。

      目錄說(shuō)明:

      * bean:數(shù)據(jù)模型目錄,包括數(shù)據(jù)庫(kù)模型,參數(shù)模型,業(yè)務(wù)模型。
      * common:基礎(chǔ)工具包目錄,包括日期工具類(lèi),郵件工具類(lèi)等。
      * config:基礎(chǔ)配置目錄,包括權(quán)限認(rèn)證,安全認(rèn)證,菜單權(quán)限等類(lèi)。
      * controller:業(yè)務(wù)的控制器目錄,包括員工信息,工資,系統(tǒng)公共功能等控制器。
      * exception:自定義異常目錄。公用的異常處理實(shí)現(xiàn)類(lèi)。
      * mapper:數(shù)據(jù)庫(kù)操作層目錄。包括數(shù)據(jù)接口的定義,查詢(xún) SQL 的業(yè)務(wù)實(shí)現(xiàn)。
      * service:業(yè)務(wù)層目錄,包括部門(mén)、員工、菜單、角色、工資等業(yè)務(wù)的業(yè)務(wù)類(lèi)。
      * HrserverApplication:SpringBoot 框架的入口類(lèi),在 IDE 中可直接運(yùn)行 main 方法。
      * resources/static:靜態(tài)資源存放目錄
      * resources/templates:前臺(tái)頁(yè)面模板路徑,包括 email 模板。
      * resources/application.properties:環(huán)境配置文件,包括關(guān)系型數(shù)據(jù)庫(kù) mysql 連接信息,mybatis
      配置文件路徑,非關(guān)系型數(shù)據(jù) redis 的連接信息,郵件服務(wù)的配置等。
      * resources/mybatis-config.xml:mybatis 配置文件,目前包括日志帶引的配置。
      * resources/vhr.sql:MySQL 數(shù)據(jù)庫(kù)腳本,(注:數(shù)據(jù)庫(kù)表有外鍵約束,適當(dāng)修改sql遇見(jiàn)的執(zhí)行順序 )
      2.2 前端項(xiàng)目 vuehr 項(xiàng)目結(jié)構(gòu)如下圖:



      前端項(xiàng)目采用 MVVM 架構(gòu),就是 MVC 架構(gòu)中多了一個(gè) ViewMode。它是 Model 和 Controller 之間的一座橋梁。

      目錄說(shuō)明:

      * build:Vue 項(xiàng)目構(gòu)建配置目錄,包括vue加載器的基礎(chǔ)配置,webpack 的環(huán)境配置。
      * config:Web 項(xiàng)目的環(huán)境配置目錄,包括代理配置、開(kāi)發(fā)環(huán)境配置、生成環(huán)境配置。
      * node_modules:第三方依賴(lài)目錄,包括項(xiàng)目引用的三方依賴(lài)模塊。
      * src/components:前端組件目錄,包括聊天組件、員工組件、個(gè)人組件、統(tǒng)計(jì)組件等。
      * src/lib:三方依賴(lài)目錄,包括 SockJS,SockJS 是一個(gè)瀏覽器 JavaScript 庫(kù),提供類(lèi)似 WebSocket 的對(duì)象。
      * src/router:路由目錄,包括項(xiàng)目前端路由的配置信息。
      * src/store:全局?jǐn)?shù)據(jù)商店,存放供全局使用的一些數(shù)據(jù)。
      * src/utils:工具包路徑,包括前臺(tái) API 接口和常用的工具類(lèi)。
      * src/App.vue:Vue 前端的入口組件。
      * src/main.js:Vue 前端入口 JS 事件定義的文件。
      * src/index.html:微人事前端首頁(yè)。
      * src/package*.json:Vue 前端項(xiàng)目打包的配置文件,類(lèi)似于 maven 項(xiàng)目的 pom.xml 文件。聲明了項(xiàng)目需要的三方依賴(lài)。
      三、實(shí)戰(zhàn)操作

      3.1 準(zhǔn)備工作

      1.確保本地已安裝 Java8 開(kāi)發(fā)環(huán)境;



      2.確保本地以安裝 maven 工具;



      3.確保本地以安裝 Node.js;



      3.2 下載項(xiàng)目
      git clone https://github.com/lenve/vhr.git
      3.3 運(yùn)行項(xiàng)目

      3.3.1 初始化數(shù)據(jù)庫(kù)

      數(shù)據(jù)庫(kù)腳本存放的路徑在:hrserver\src\main\resources\vhr.sql,我本地使用的可視化工具 Navcat。新建一個(gè)名稱(chēng)為 vhr
      的數(shù)據(jù)庫(kù)。



      導(dǎo)入 vhr.sql 文件數(shù)據(jù)到 mysql 數(shù)據(jù)庫(kù)。



      3.3.2 修改后臺(tái)項(xiàng)目的環(huán)境配置文件

      修改后臺(tái)項(xiàng)目的環(huán)境配置文件 hrserver\src\main\resources\application.properties
      # MySQL 配置 spring.datasource.type=com.alibaba.druid.pool.DruidDataSource
      spring.datasource.url=jdbc:mysql://IP:3306/vhr?useUnicode=true&characterEncoding=UTF-8
      spring.datasource.username=root spring.datasource.password=root
      3.3.3 IDE里運(yùn)行項(xiàng)目

      *
      運(yùn)行后端項(xiàng)目

      a.導(dǎo)入后端項(xiàng)目到 IDEA 開(kāi)發(fā)工具



      b.運(yùn)行后端項(xiàng)目

      打開(kāi)后臺(tái)項(xiàng)目的入口類(lèi) HrserverApplication.java



      c.項(xiàng)目啟動(dòng)成功如下圖



      *
      運(yùn)行前端項(xiàng)目

      a.導(dǎo)入前端項(xiàng)目到 VSCode 開(kāi)發(fā)工具



      b.運(yùn)行前端項(xiàng)目

      c.在 VSCode 左側(cè)導(dǎo)航欄,NPM SCRIPTS中直接運(yùn)行 dev。



      d.Ctrl+shift+Y 呼出控制臺(tái),在控制臺(tái)終端依次執(zhí)行如下命令:
      # 安裝依賴(lài) npm install # 在 localhost:8080 啟動(dòng)項(xiàng)目 npm run dev


      * 項(xiàng)目運(yùn)行成功如下圖


      3.3.4 命令行運(yùn)行項(xiàng)目

      Win + R 打開(kāi) Wndows 命令行窗口

      *
      運(yùn)行后端項(xiàng)目

      a.切換目錄到 vhr\hrserver?下



      b.打包后臺(tái)項(xiàng)目
      mvn clean package
      c.命令行運(yùn)行微人事后臺(tái)項(xiàng)目

      切換目錄到 hrserver\target,執(zhí)行如下命令可啟動(dòng)項(xiàng)目
      java -jar hrserver-0.0.1-SNAPSHOT.jar
      d.項(xiàng)目運(yùn)行成功成功入下圖



      *
      運(yùn)行前端項(xiàng)目

      a.切換目錄到 vhr\vuehr?下



      b.在命令行依次執(zhí)行如下命令
      # 安裝依賴(lài) npm install # 在 localhost:8080 啟動(dòng)項(xiàng)目 npm run dev
      c.項(xiàng)目運(yùn)行成功成功入下圖



      3.3.5 項(xiàng)目啟動(dòng)成功效果

      * 員工基本信息維護(hù)


      * 基礎(chǔ)信息設(shè)置


      四、最后


      教程至此,你應(yīng)該對(duì)前后端分離的項(xiàng)目有了一些簡(jiǎn)單的認(rèn)識(shí)。并且你也已經(jīng)在本地將項(xiàng)目跑起來(lái)了。所謂前后端分離,其實(shí)你也可以搞定的!項(xiàng)目涉及的技術(shù)比較多,你可以選擇感興趣的技術(shù)去學(xué)習(xí)。后面怎么玩就看你自己了:部署到服務(wù)器正式上線、定制自己專(zhuān)屬的功能、給項(xiàng)目貢獻(xiàn)代碼等,都是可以的。

      本教程是針對(duì)有一定 Java 編程基礎(chǔ),但又不知道如果運(yùn)行本項(xiàng)目的小伙伴。如果你是老手歡迎直接閱讀項(xiàng)目的說(shuō)明文檔,獲取更多更詳細(xì)的資料。

      五、參考文章:

      *
      SpringBoot wiki <https://www.jianshu.com/p/350972a3a258>

      *
      Spring Security wiki <https://blog.51cto.com/favccxx/1606179>

      *
      MyBatis wiki <http://www.mybatis.org/mybatis-3/zh/index.html>

      *
      MVVM框架 wiki <https://zhuanlan.zhihu.com/p/59467370>

      友情鏈接
      ioDraw流程圖
      API參考文檔
      OK工具箱
      云服務(wù)器優(yōu)惠
      阿里云優(yōu)惠券
      騰訊云優(yōu)惠券
      京東云優(yōu)惠券
      站點(diǎn)信息
      問(wèn)題反饋
      郵箱:[email protected]
      QQ群:637538335
      關(guān)注微信

        <ul id="qxxfc"><fieldset id="qxxfc"><tr id="qxxfc"></tr></fieldset></ul>
          扒开腿狂躁女人动态图x0x0 | 操逼视频免费试看 | 日韩在线视频播放 | 在线观看亚洲 | 亚洲AV无码国产精品 | 精品免费一区二区三区四区 | 精品久久一区二区三区三线 | 人人舔人人操人人干 | 男人亲摸下面激烈视频 | 手机在线日韩欧美 |