線上 Demo:http://fsblog.letec.top
Github 地址:https://github.com/jameszbl/fs-blog
1. 涉及技術及工具
- 核心框架:SpringBoot
- ORM 框架:MyBatis
- MyBatis 工具:MyBatis Mapper
- MVC 框架:Spring MVC
- 模板引擎:Freemarker
- 編譯輔助外掛:Lombok
- CSS 框架:BootStrap 4.0
- Markdown 編輯器:Editor.md
- 資料庫:MySQL
2. 效果圖
2.1 首頁
2.2 部落格列表頁
2.3 部落格閱讀頁
2.4 個人簡歷頁
2.5 文章編輯
3. 構建及執行
3.1 伺服器環境
- 安裝
MySQL
- 安裝
Gradle
- 在專案目錄下執行
gradle clean build
,生成的 jar 包位於build/libs
目錄下,使用java -jar .../fsblog.jar
執行 - 在
application-dev.yml
中配置資料庫使用者名稱和密碼,預設為:username: root password: root
- 預設自動建立資料庫、資料表並自動匯入初始資料,同樣在
application-dev.yml
中配置
3.2 開發環境
- 可直接在 IntelliJ IDEA 或 Eclipse 中開啟專案進行二次開發
4. 配置檔案
spring:
# 應用名稱
application:
name: FS-Blog
# 快取
cache:
cache-names: ehcache
ehcache:
# 快取的配置檔案
config: ehcache.xml
# Spring Boot 熱部署工具
devtools:
restart:
enabled: true
# 模板引擎
freemarker:
enabled: true
cache: false
suffix: .ftl
charset: utf-8
# 邏輯檢視名(所有檢視都要寫在這裡)
view-names: index,
error,
userlogin,
adminlogin,
register,
article,
posts,
admin/index,
admin/userlogin,
admin/blogadd,
admin/blog_manage,
admin/blog_modify,
admin/admin_user_manage,
admin/admin_user_pwd_modify
content-type: text/html
allow-request-override: true
check-template-location: true
expose-request-attributes: true
expose-session-attributes: true
expose-spring-macro-helpers: true
request-context-attribute: request
template-loader-path: classpath:/templates/
# 靜態資源
resources:
chain:
strategy:
content:
enabled: true
# 靜態資源位置
paths: /**
fixed:
enabled: true
paths: /js/lib
version: v12
static-locations: classpath:/static/,classpath:/META-INF/resources/,classpath:/resources/,classpath:/public/
# 資料來源
datasource:
type: com.zaxxer.hikari.HikariDataSource
# 資料庫連線
# 使用者名稱
username: root
# 密碼
password: root
# 資料庫 URL
url: jdbc:mysql://127.0.0.1:3306?useUnicode:true&characterEncoding:UTF-8
# 資料庫連線驅動
driverClassName: com.mysql.jdbc.Driver
# SQL 編碼
sql-script-encoding: UTF-8
hikari:
# 連線存活時間
connection-timeout: 30000
# 連線池容量
maximum-pool-size: 50
minimum-idle: 5
# 資料庫定義
schema: classpath:schema.sql
# 測試資料
data: classpath:data.sql
# 是否自動建立資料庫並自動匯入初始資料
initialize: true
continue-on-error: true
# 伺服器配置
server:
# 埠
port: 8083
max-http-header-size: 8192
compression:
min-response-size: 512
enabled: true
mime-types: text/html,text/css,text/javascript,application/javascript,image/gif,image/png,image/jpg
tomcat:
maxThreads: 12
minSpareThreads: 3
# 訪問日誌
accesslog:
directory: /home/fullstack/app/fullstack
pattern: combined
enabled: true
# 會話
session:
cookie:
# Session 存活時間
max-age: 1800
# 日誌
logging:
# Log4j2 配置檔案
config: classpath:log4j2.xml
mybatis:
# 實體類所在包
type-aliases-package: me.zbl.fullstack.entity
# xml 檔案位置
mapper-locations: classpath:mapping/*.xml
複製程式碼