springboot +jpa + security 博客系統

寫在最前面

演示站點:blog.ydemo.cn

開源中國碼雲項目源碼:https://git.oschina.net/oneper/base/tree/dev/

有興趣的同學可以把源碼蕩下來,然後部署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.項目運行之後的美圖

主頁:

輸入圖片說明

詳情頁

輸入圖片說明


後臺主頁:

輸入圖片說明

友鏈

輸入圖片說明

附件:

輸入圖片說明

標籤:

輸入圖片說明



發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章