1. 程式人生 > >springboot +jpa + security 部落格系統

springboot +jpa + security 部落格系統

寫在最前面

有興趣的同學可以把原始碼蕩下來,然後部署war包至自己的伺服器,如何打包,繫結域名等一系列操作檢視本人近期部落格,記錄了遇到的問題,如果您有問題,歡迎留言。

引言

確實,找了好久,沒有找到一個優雅的java部落格系統。自己去寫一個吧,想著開源的php的優秀部落格那麼多,何必浪費時間去弄,況且自己寫的問題多,考慮得不全面,與此等等,自己把自己唬住了。恰巧的是四月初一天,在開源中國的搜尋框中搜了下部落格,出現了tale。點開一看,介面清爽,佈局優美,精神為之一振。最好的一點就是作者本人將它開源了,方便學習。這個時候在我的腦海中出現了執行力這個詞,不如就讓行動去決定思想,來克服懶惰,讓我也去實現一次。

框架的選擇

看了原作者對技術架構的說明,在此我也放棄了去弄ssm ssh之類臃腫的架構。首先,學藝不精;其次,框架整合各有千秋,吸收框架去做一個CRUD也不是一天的事情。對於spring boot火不火的事情,管他呢,既然我也是初學者,那就幹。至少懂springmvc的流程,就立馬能知道專案是怎麼執行的。所以我選擇了springboot.看了作者的陳述,說是沒有加上許可權這一塊,正好三月份研究了spring security4半月有餘。目前架構就是springboot+springsecurity+jpa(?哦對了,還有orm層,為了簡便就用jpa了)。至於頁面渲染,作者用的jetbrick-template已經很棒了。鑑於上面三者都是新接觸的知識,為了新上加新,選擇了模板引擎thymeleaf。開發工具就用idea。上面所述,新建專案可以一併整合,省事。

專案說明

作者的專案看著挺簡單的,做起來卻不是那麼一回事了。好多細節的處理讓我感覺到和作者之間的差距巨大。於是,讓自己的能力和專案對等,就簡化了很多功能。也便於大家一起學習吧,畢竟我也是新手。現在專案整體的執行和原作者的基本一致。

1.開發的功能:

  1. 使用者管理:只面向個人使用者,不提供對使用者的CRUD,可以擴充套件。
  2. 角色管理:安全框架必須,使用者角色關聯對應,可以進行擴充套件。
  3. 文章釋出:釋出博文。
  4. 友鏈管理:對網站掛載友情連結的管理。
  5. 分類、標籤管理:主要是給文章釋出提供便捷。
  6. 附件管理:使用七牛雲對文章中要用到的圖片檔案統一進行管理。

由於選擇的框架不同,對於原作者提供的一些功能暫時沒有實現,一切從簡,主要面對初學者。具體的我去掉的功能:評論這一塊,系統設定中的站點設定,清除快取,匯出sql,配置外掛,擴充套件主題模板。其餘基本一致,可打包為jar war等多種形式直接執行。

2.專案框架

  • 主框架:spring boot 1.5.2+ spring security4+jpa 
  • 快取:ehcache
  • 後臺管理模板:H-UI admin
  • 前臺主題模板:pingshu
  • 資料庫:mysql
  • 模板引擎:thymeleaf
  • 圖片儲存:七牛

前端框架在此不做說明,基本都用的差不多。

這裡我感覺做的最有意義的事就是整合springboot 和security,擴充套件了JPA資料庫訪問,以及展示瞭如何通過七牛實現的雲端儲存。

3.快速開始

碼雲地址:https://git.oschina.net/oneper/base/tree/dev/

開發工具:idea。

從碼雲匯入專案至idea,修改resources檔案下application.yml中mysql的配置資訊,然後直接執行DemoApplication.java的main()方法。

然後瀏覽器訪問:http://localhost:8080/

後臺管理地址:http://localhost:8080/login    

登入後會跳至首頁。

需再訪問http://localhost:8080/admin/index

4.專案執行之後的美圖

主頁:

輸入圖片說明

詳情頁

輸入圖片說明

後臺主頁:

輸入圖片說明

友鏈

輸入圖片說明

附件:

輸入圖片說明

標籤:

輸入圖片說明