前言
因为放了寒假,时间挺长的。然后想利用这段放假的时间把自己的个人博客网站搭建起来。之前学了ssm
框架,然后使用javaweb
+ssm
也写了两个比较小的项目。这次想试试大项目,把自己的博客搭的完完整整。然后考虑到这个项目我可能会终生维护。于是不再使用javaweb
+ ssm
。而是使用maven
搭建sm
(spring boot + mybatis)框架来完成。但是我没有系统的学过maven
和spring boot
。于是我想考着ssm
的基础。边学边做。于是就有了这篇博客。从0使用maven
搭建spring boot2.x
项目。为什么从0呢?因为使用idea的话,很容易就创建出一个什么都配好的项目。但是对于学习而言,并不友好。所以,应该从创建maven
项目开始,然后一个一个的配置然后加入maven依赖
。
使用maven创建一个web项目
当你看到这里,你必须安装了maven
并且配置完成了环境变量。然后了解过maven
的基本命令。
首先使用maven
的模板创建一个web项目。使用mvn archetype:generate
命令。
然后会等待你输入。这里选择10,然后输入自己的项目组名,项目名版本号等等。(第一个要选10表示web项目,然后后面的下您要更改就输入,可以直接回车)。
输入完成之后项目就会构建成功了。
构建成功之后然后切换当前工作目录到你的项目根目录下。(也就是含有pom.xml的目录)。
添加spring boot
相关依赖
这时maven
项目已经构建完成并且准备就绪。然后就是导入spring boot
的相关依赖。
将如下代码添加到pom.xml中。
引入spring-boot的相关依赖文件 ,这个是最基本的包,里面包含了运行的相关组件,例如tomcat,以及其他的jar包。
<parent>
<!-- spring boot 的父依赖-->
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-parent</artifactId>
<version>2.2.2.RELEASE</version>
<relativePath /> <!-- lookup parent from repository -->
</parent>
接下来这个依赖。
这样就能启动一个spring-boot的web项目,其中内嵌了相关的tomcat服务器
<!-- spring boot for web的核心依赖-->
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-web</artifactId>
</dependency>
接下来添加maven对spring的支持的插件。
<build>
<finalName>test</finalName>
<plugins>
<!--spring的maven管理插件-->
<!-- 打包可执行jar包 -->
<plugin>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-maven-plugin</artifactId>
<!-- 经过测试,当不使用spring-boot-starter-parent作为父依赖的时候,
下面的executions必须要配置才可以在cmd中使用java -jar运行 -->
<executions>
<execution>
<goals>
<goal>repackage</goal>
</goals>
</execution>
</executions>
</plugin>
</plugins>
</build>
spring boot
项目结构
在spring boot项目中有如下几个注意项(算是规范吧)。
.java
文件都要放在main/java
文件夹下- 启动类最好是不要直接放在默认包下(也就是
main/java
),应该放在如:main/java/com/
下 html
等静态资源要放在resources/static
下spring boot
的配置文件要放在resources
根目录
依赖导入后,接下来将web项目的目录结构进行修改。添加几个目录:main\resources\static
、main\java
。一个是存放html
等前端页面的位置,一个是存放java
代码的位置。标准的spring boot项目
是没有webapp
目录的,可以删除掉。
修改后的目录结构具体如下。
配置spring boot
项目访问端口
其中main\application.properties
是spring boot
的配置文件,用来配置spring boot
的启动参数等。如:给application.properties
配置启动后访问的端口号为80
。
TestApplication.java
是spring boot
的启动类,spring boot
项目的入口。
package com.test;
import org.springframework.boot.SpringApplication;
import org.springframework.boot.autoconfigure.SpringBootApplication;
@SpringBootApplication
public class TestApplication {
public static void main(String[] args) {
SpringApplication.run(TestApplication.class, args);
}
}
index.html
是我新建的html
文件,内容如下。
启动spring boot
使用vs code
启动spring boot
接下 点击run
启动spring boot
。
当然这里直接点run能启动是因为下载了VSCode
的spring boot
插件。
然后spring boot
就能直接启动了。
因为插件内部其实配置了什么我们也不清楚。所以为了不使用陌生的东西,也可以使用maven clean install
命令将spring boot项目打包出war
来,然后放在tomcat下再运行tomcat。也可以打包出jar
然后直接使用java -jar
命令运行。考虑方便性,和spring boot的独立性,这里就打出jar
包来然后运行。
使用java -jar
运行spring boot
首先添加pom.xml
配置打包为jar
。
<packaging>jar</packaging>
然后使用mvn install
命令将项目打包。
打包完成会在target
文件夹下发现一个.jar
文件。这个文件就是我们需要的可执行文件。
最后使用powershell
切换到target
文件夹中然后使用java -jar
命令执行。就会看到如下效果:
最后在浏览器中访问。