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,右键“运行”即可启动。10分钟搭建 SpringBoot + Mybatis + Thymeleaf 个人博客

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 版证书即可。如下图:10分钟搭建 SpringBoot + Mybatis + Thymeleaf 个人博客

注:上篇文章已讲解阿里云如何购买免费证书,请阅读上篇文章
2.下载下来的配置压缩包包含两个文件:10分钟搭建 SpringBoot + Mybatis + Thymeleaf 个人博客
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, 443https 默认端口。

服务器部署

服务部署 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 生产环境搭建代码仓库安装自动打包部署

十分钟完成Springboot 生产环境搭建代码仓库安装自动打包部署

十分钟完成Springboot 生产环境搭建代码仓库安装自动打包部署(密码登录)