10分钟搭建 SpringBoot + Mybatis + Thymeleaf 个人博客
Posted 不安分的猿人
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了10分钟搭建 SpringBoot + Mybatis + Thymeleaf 个人博客相关的知识,希望对你有一定的参考价值。
一、前言
之前写过很多种博客搭建的方法, 可阅读之前的文章。本篇讲 SpringBoot + Mybatis + Thymeleaf 方式搭建个人博客,三种主题自由切换。博客页面也很美观、各种功能齐全。对于懂 Java 语言的伙伴来说是个不错的方式;作者的代码也是特别的6,对于初学 Springboot
的伙伴,也是一个不错的实战项目。那么话不多说我们直接开始实战吧!
二、博客搭建
前提
-
安装 Jdk8
或者更高版本,全称 Java Development Kit,它是 Java 的库函数,是编译、运行java程序的工具包。 -
安装 Maven3
环境,进行项目构建和项目依赖包管理。 -
安装开发工具,例如:Idea,Eclipse,Spring Tool Suite 等 -
安装 Git
工具,使用GitBash
工具进行下载,提交代码等操作。
下载项目
执行如下命令,将代码克隆到本地指定目录,这里指定的目录是 D:devEnv
。
cd D:devEnv
git clone https://github.com/ZHENFENG13/My-Blog.git
导入数据库
阅读项目 READ.md
文件可知,项目数据库的初始化脚本存放在 static-files/my_blog_db.sql
目录。这里我通过数据库可视化工具 Navicat 导入数据。如下图:
修改配置文件
修改项目配置文件 resourcesapplication.properties
,主要修改数据库 url,数据库用户名和密码。
# datasource config
spring.datasource.name=my-blog-datasource
spring.datasource.driverClassName=com.mysql.cj.jdbc.Driver
spring.datasource.url=jdbc:mysql://localhost:3306/my_blog_db?useUnicode=true&characterEncoding=utf8&autoReconnect=true&useSSL=false&serverTimezone=UTC
spring.datasource.username=root
spring.datasource.password=password
本地运行
这里有两种方式运行:
1.Idea 导入项目,找到 MyBlogApplication
,右键“运行”即可启动。
2.在项目根目录,执行如下命令,也可以运行项目。
cd D:devEnvMy-Blog
mvn clean package -DskipTests
cd target
java -jar my-blog-4.0.0-SNAPSHOT.jar
切换主题
大概阅读了一下代码,我找到主题切换的地方,在 MyBlogController
类中定义的:
@Controller
public class MyBlogController {
//public static String theme = "default";
//public static String theme = "yummy-jekyll";
public static String theme = "amaze";
...
}
修改 theme
的值可切换到不同的主题显示。
这里大概说一下我寻找相关代码的思路:
-
项目启动后,查找项目系统配置,是否有切换主题的开关。 -
在项目配置文件中找关于 主题
注释 或者theme
的配置 -
在后端代码中寻找关于 主题
的注释 或者theme
的变量
配置ssl
1.下载阿里云 ssl
证书,因为 SpringBoot
默认使用的内嵌的 tomcat
,所以这里下载 tomcat
版证书即可。如下图:
注:上篇文章已讲解阿里云如何购买免费证书,请阅读上篇文章
2.下载下来的配置压缩包包含两个文件:
3.修改项目配置文件 resourcesapplication.properties
,添加如下内容:
server.port = 443 #服务启动端口改为 443
server.ssl.key-store=*.pfx #配置自己证书的 pfx 文件
server.ssl.key-store-password=xxxx #pfx-password.txt 的文件内容
4.修改项目入口类 MyBlogApplication
,添加如下代码:
//HTTP访问自动转HTTPS访问
@Bean
public TomcatServletWebServerFactory tomcatServletWebServerFactory(Connector connector){
TomcatServletWebServerFactory tomcat=new TomcatServletWebServerFactory(){
@Override
protected void postProcessContext(Context context) {
SecurityConstraint securityConstraint=new SecurityConstraint();
securityConstraint.setUserConstraint("CONFIDENTIAL");
SecurityCollection collection=new SecurityCollection();
collection.addPattern("/*");
securityConstraint.addCollection(collection);
context.addConstraint(securityConstraint);
}
};
tomcat.addAdditionalTomcatConnectors(connector);
return tomcat;
}
@Bean
public Connector connector(){
Connector connector=new Connector("org.apache.coyote.http11.Http11NioProtocol");
connector.setScheme("http");
connector.setPort(80); //服务默认启动端口
connector.setSecure(false);
connector.setRedirectPort(443);
return connector;
}
服务器对外暴露端口为 80
, 443
为 https
默认端口。
服务器部署
服务部署 SpringBoot
项目有很多种方式:
-
Tomcat 容器部署项目 -
Jar 形式启动项目 -
Docker 容器启动项目
本编以 Jar
包形式启动 SpringBoot
项目。这里注意:需要将项目构建好的 jar
包和上面的证书文件 xx.pfx
文件放在同一个目录。
这里为了好管理服务,我创建了两个 sh
文件startup.sh、shutdown.sh,以后通过这两个脚本启动或停止服务。startup.sh
文件内容如下:
nohup java -jar my-blog.jar >my-blog.log &
shutdown.sh
文件内容如下:
#!/bin/bash
PID=$(ps -ef | grep my-blog.jar | grep -v grep | awk '{ print $2 }')
if [ -z "$PID" ]
then
echo Application is already stopped
else
echo kill $PID
kill $PID
fi
浏览器访问
三、最后
整体阅读下来搭建个人博客是不是超级简单!搭建博客最主要是为了记录个人的学习和生活,可以通过网络认识更多有意思的小伙伴。博客页面效果也是需要不断更新的,所以选择自己擅长的框架搭建个人博客也是很重要的,后期熟悉框架后,自己可自定义博客了,添加自己喜欢的模块和插件。
文章推荐
微信圈子“Github爱好者”
主要分享Github开源项目!
不安分的猿人
孜孜不断的技术分享!
END
以上是关于10分钟搭建 SpringBoot + Mybatis + Thymeleaf 个人博客的主要内容,如果未能解决你的问题,请参考以下文章
十分钟完成Springboot 生产环境搭建代码仓库安装自动打包部署
十分钟完成Springboot 生产环境搭建代码仓库安装自动打包部署(密码登录)
十分钟完成Springboot 生产环境搭建代码仓库安装自动打包部署
十分钟完成Springboot 生产环境搭建代码仓库安装自动打包部署