SpringBoot开发,初始化简单项目并使用maven管理
发布于 作者:苏南大叔 来源:程序如此灵动~

Java
开发虽然繁琐,但是受到了市场的检验。其中java
技术变革,也经历了多次变迁。本文说的是spring
家族中的spring boot
。如何使用spring boot
框架创建一个简单的企业网站呢?这就是本文要讨论的问题。
苏南大叔的“程序如此灵动”博客,记录苏南大叔的代码编程经验总结。测试环境:win10
,openjdk@23.0.2
,IntelliJ IDEA 2024.3.4.1
,maven@3.3.2
,spring boot@2.5.4
,java@17
。Spring Boot
是一个强大的框架,它简化了Java
应用程序的开发。
spring 家族
spring mvc
,spring boot
,spring cloud
是一脉相承的关系。具体来说:
spring mvc
是构建网站项目的一个基础框架。但是,它的各种配置实在是太繁琐。在解决这个问题的基础上,就诞生了spring boot
这个整合方案,简化spring mvc
的各种繁琐配置。- 而
spring cloud
是建立在spring boot
基础上的,中大型网站的解决方案,集成了微服务等概念。
综上所述,更具有通用性的就是spring boot
了。其官方网站是:
基础环境
java
是什么,这里就不多说了。参考:
- https://newsn.net/say/brew-install-java8.html
- http://www.oracle.com/technetwork/java/javase/downloads/index.html
maven
是个工具,类似于node
的npm
。犹如npm
存在yarn
/pnpm
等等竞争者一样。这个maven
也存在着Gradle
等竞争者。苏南大叔在本文中,依然使用传统的maven
。参考:
基础环境是java
和maven
,可以单独安装,也可以通过这个IDEA
编辑器自动安装。
编辑器
对spring boot
的集成度最高最好用的编辑器是InteIIiJ IDEA
,在下面的这个链接下载:
至于授权码问题,个人开发者就使用你的edu
邮箱,去申请个免费的授权即可。合法简单免费,参考:
其它编辑器,eclipse
或者vscode
之类的,也是可以使用的,只不过操作上不如IDEA
更加傻瓜化。
如果使用编辑器自动安装的环境的话,java
是安装在系统盘下面的openjdk@23.0.2
。maven
是安装在项目根目录下面的。所以,在其他的编辑器里面,想要识别java
和maven
的话,可能还需要做全局变量的设置。
IDEA
给自动安装的版本,都不追求最新版。
java
路径:C:\Users\sunan\.jdks\openjdk-23.0.2\bin\java.exe
。maven
命令,也是编辑器自己安装的,在项目根目录下面。- 还有一点需要说明的是:
spring boot
项目不需要外置tomcat
!!它内置tomcat
!
新建项目
需求是做个简单的企业站,以演示目的为主,属于传统静态页面,暂不启用数据库相关模块。项目初始化有两个途径:
使用IDEA初始化
使用IDEA
初始化的话,比较简单,点几下就可以了。如下图所示:
使用官方工具
spring
官方也提供了初始化的工具(比如使用其它编辑器的时候),参考:
基本配置和上面的差不多,点击页面下面的生成按钮即可。
配置文件
pom.xml
文件对于spring boot
来说,非常重要。主要分为以下几个部分。
基本信息
<groupId>com.example</groupId>
<artifactId>demo</artifactId>
<version>0.0.1-SNAPSHOT</version>
<name>demo</name>
<description>demo</description>
不写的话,就无法打包,拿不到.jar
或者.war
文件。生成的.jar
包,位置是:target/demo-0.0.1-SNAPSHOT.jar
。
打包成jar
包【推荐】,而不是传统的war
包。两者有着本质上的区别,后续文章再讨论。
依赖信息
<dependencies>
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-thymeleaf</artifactId>
</dependency>
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-web</artifactId>
</dependency>
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-devtools</artifactId>
<scope>runtime</scope>
<optional>true</optional>
</dependency>
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-test</artifactId>
<scope>test</scope>
</dependency>
</dependencies>
这些依赖信息,都是编辑器或者vscode copilot
自动生成的。这些东西可记不下来。写好之后,就可以使用mvn install
命令进行安装了。
这里的<optional>true</optional>
,和npm
的-D
参数是差不多的意思。
其它信息
还有一些其它的配置信息,是写在src/main/resources/application.properties
文件里面的。这里的内容就比较灵活了。根据依赖的需求,写什么内容都有可能。
spring.application.name=demo
就类似php
项目的.env
文件。
项目管理命令
对项目的管理(包括安装依赖,清理文件,运行网站)等等。也就是maven
命令所做的事情。包括:
任务 | 命令 |
---|---|
安装依赖 | mvn install |
清理生成品 | mvn clean |
打包 | mvn package |
热加载运行 | mvn spring-boot:run |
带容器运行jar包 | mvn spring-boot:start |
停止容器 | mvn spring-boot:stop |
后几条命令,就是devtools
作为maven
的插件,新增加的功能。可以如下图这样调用。
除了初始化的mvn install
这个安装依赖项的操作外。启动之后,就可以开启spring boot
的调试之旅了。这个devtools
增加的是热部署的功能,而不是热加载。两者听起来一样,区别后续文章更新。
完整源码
在本文中,由于项目需求特别简单。所以仅仅使用了controller
和templates
这两个部分。参考:
src/main/java/com/example/demo/controller/PageController.java
:
package com.example.demo.controller;
import org.springframework.stereotype.Controller;
import org.springframework.web.bind.annotation.GetMapping;
@Controller
public class PageController {
@GetMapping("/")
public String home() {
return "home";
}
@GetMapping("/products")
public String products() {
return "products";
}
@GetMapping("/about")
public String about() {
return "about";
}
}
src/main/java/com/example/demo/DemoApplication.java
:
package com.example.demo;
import org.springframework.boot.SpringApplication;
import org.springframework.boot.autoconfigure.SpringBootApplication;
@SpringBootApplication
public class DemoApplication {
public static void main(String[] args) {
SpringApplication.run(DemoApplication.class, args);
}
}
src/main/rescources/application.properties
:
spring.application.name=demo
模版部分,并不是本文的重点,这里仅作举例:src/main/resources/templates/home.html
:
<!DOCTYPE html>
<html xmlns:th="http://www.thymeleaf.org">
<head>
<title>首页</title>
<link rel="stylesheet" th:href="@{/css/styles.css}">
<style>
body {
background-color: #001f3f;
color: #ffffff;
font-family: 'Arial', sans-serif;
}
.header, .footer {
background-color: #0074D9;
padding: 20px;
text-align: center;
}
.content {
padding: 20px;
text-align: center;
}
</style>
</head>
<body>
<nav>
<ul>
<li><a href="/">Home</a></li>
<li><a href="/about">About</a></li>
<li><a href="/products">Products</a></li>
</ul>
</nav>
<div class="header">
<h1>人工智能赛博朋克风格网站</h1>
</div>
<div class="content">
<h2>欢迎来到我们的首页</h2>
<p>这里是首页内容。</p>
</div>
<div class="footer">
<p>版权所有</p>
</div>
</body>
</html>
调试运行
在IDEA
编辑器顶部有个绿色的运行按钮,点击就可以调试。修改文件后,就可以在编辑器里面。Ctrl+f9
,内部就自动编译了。回到外面浏览器再f5
一下看效果。这个步骤略显复杂,其实是可以调整的,但是“热更新”要调整的内容过多,待后续更新。
执行了spring-boot:run
命令后,默认端口是8080
。可以使用下面的连接,查看效果。
调试的时候,可以使用spring-boot:run
热加载命令。【不好用】还是推荐配置好各种联动后(见后续文章),使用编辑器顶部的run
按钮。
调试完成后,就可以使用maven
的package
命令,就可以生成.jar
包。这个.jar
包,内置tomcat
。不需要额外安装tomcat
。只需要下面的命令就可以运行。
java -jar demo-0.0.1-SNAPSHOT.jar
结语
本文仅仅是生成的spring boot
的一个最简单网站项目。更多java
相关经验文字,请点击:


