【SpringBoot】03 基础入门 - 你的第一个SpringBoot工程从创建到部署全流程步骤
文章目录
- 前言
- 一、系统要求
- 二、修改Maven配置文件【必改】
- 三、创建Maven工程
-
- 1、新建项目
- 四、引入依赖
-
- 1、Maven配置pom.xml文件
- 2、更新maven配置
- 五、服务器配置端口
- 六、编写代码
-
- 1、创建主程序
- 2、运行主程序
- 3、编写与前端交互的业务程序
- 4、前后端交互运行
- 七、测试
- 八、项目全局配置
-
- 1、配置文件
- 九、项目部署
-
- 1、官方文档
- 2、打包过程
- 3、执行jar包
- 4、在服务器执行
- 5、jar包中都有什么
- 6、注意事项
- 十、所有源代码
-
- Maven的安装路径下的setting.xml文件中新增(覆盖)
- 依赖包pom.xml
- 配置文件application.yml
- 主程序MainApplication类
- 业务程序controller.HelloController类
- 总结
-
- 1. 开发环境准备
- 2. 项目搭建与依赖管理
- 3. 服务器与代码实现
- 4. 项目配置与测试
- 5. 项目打包与部署
- 6. 注意事项
前言
-
整体官方文档:
https://spring.io/projects/spring-boot#learn -
Spring boot2参考官方文档:
https://docs.spring.io/spring-boot/docs/2.7.18/reference/html/
一、系统要求
● Java 8 & 兼容java14 .
● Maven 3.3+
● idea 2019.1.2
确保自己安装的java版本和maven版本符号要求。
二、修改Maven配置文件【必改】
首先在cmd中,根据mvn -v的结果中复制maven的安装路径:
mvn -v
直接复制maven home的路径,在电脑路径中搜索。找到maven的配置文件。conf - setting
修改setting.xml文件,中和节点,如果已经有了,可以覆盖这两个节点。使用以下代码,调用阿里镜像。
<mirrors> <mirror> <id>nexus-aliyun</id> <mirrorOf>central</mirrorOf> <name>Nexus aliyun</name> <url>http://maven.aliyun.com/nexus/content/groups/public </mirror> </mirrors> <profiles> <profile> <id>jdk-1.8</id> <activation> <activeByDefault>true</activeByDefault> <jdk>1.8</jdk> </activation> <properties> <maven.compiler.source>1.8</maven.compiler.source> <maven.compiler.target>1.8</maven.compiler.target> <maven.compiler.compilerVersion>1.8</maven.compiler.compilerVersion> </properties> </profile> </profiles>
我是这样修改的:(绿色的是注释掉的)
三、创建Maven工程
1、新建项目
IDEA 2019及以上,File - new - project。我使用的是IDEA2023。
当前窗口打开。
查看创建项目的maven版本符合要求。
四、引入依赖
1、Maven配置pom.xml文件
pom中导入父工程:找到项目的父路径下的pom.xml进行配置,可以看到groupId和artifactId以及version已经默认有名称了,这个以前版本IDEA还需要手动输入设置名称,idea2023创建后已经默认有了,也可以手动重命名以及修改对应的pom文件中名称。
<?xml version=\"1.0\" encoding=\"UTF-8\"?><project xmlns=\"http://maven.apache.org/POM/4.0.0\" xmlns:xsi=\"http://www.w3.org/2001/XMLSchema-instance\" xsi:schemaLocation=\"http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd\"> <modelVersion>4.0.0</modelVersion> <groupId>com.hello</groupId> <artifactId>hello-boot2</artifactId> <version>1.0-SNAPSHOT</version> <parent> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-parent</artifactId> <version>2.3.4.RELEASE</version> </parent> <dependencies> <dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-web</artifactId> </dependency> </dependencies> <properties> <maven.compiler.source>8</maven.compiler.source> <maven.compiler.target>8</maven.compiler.target> <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding> </properties></project>
我这里将包名称和配置文件中的名称改成hello。
2、更新maven配置
五、服务器配置端口
resources文件夹中右键新建文件,命名为Application.yml
文件中添加端口配置信息:
server: port: 8083 # 修改端口为 8083
六、编写代码
1、创建主程序
我们创建项目的时候,已经默认有个main类,其中有代码了,为了实现从0开始写起,我们将这个类进行备份后删除。
接下来我们在hello包中新建一个boot包,并在boot包中添加一个MainApplication类。
在hello包下新建一个MainApplication类。
加上@SpringBootApplication注解和impot对应的包。以及对应的代码。
package com.hello;import org.springframework.boot.SpringApplication;import org.springframework.boot.autoconfigure.SpringBootApplication;/** * 主程序类 * @SpringBootApplication 这是一个SpringBoot应用 */@SpringBootApplicationpublic class MainApplication { public static void main(String[] args) { SpringApplication.run(MainApplication.class, args); // 拼接最终启动成功信息 String successMessage = \"🎉 **启动成功!** (ノ◕ヮ◕)ノ*:・゚✧\\n\" + \"✨ *服务已就绪,端口 8083* ✨\\n\" + \"💻 访问地址:`http://localhost:8083`\\n\" + \"💪 **Go! Go! Go!** (ง •_•)ง\"; System.out.println(successMessage); }}
2、运行主程序
运行成功
浏览器访问
3、编写与前端交互的业务程序
新建controller.HelloController类与前端交互。
package com.hello.conroller;import org.springframework.stereotype.Controller;import org.springframework.web.bind.annotation.RequestMapping;import org.springframework.web.bind.annotation.ResponseBody;import org.springframework.web.bind.annotation.RestController;//@ResponseBody // 类上加,表示该类下所有方法返回值作为响应体返回给浏览器//@Controller // 类上加,表示该类下所有方法都是控制器方法@RestController // 是@ResponseBody与@Controller的合并体public class HelloController { // @ResponseBody 单个方法的返回值作为响应体返回给浏览器 @RequestMapping(\"hello\") public String handle01(){ int a = 23; int b = 100; int c = a + b; return \"Hello, Spring Boot2 !\" + \"\\n\\n\" + c; }}
4、前后端交互运行
运行项目
浏览器给服务器输入一个值,hello,服务器返回值到浏览器中。
http://localhost:8083/hello
浏览器输入与返回值:
七、测试
直接运行Main方法就可以进行测试!
以上代码已经完成测试。
可以多写一些简单的输入输出,或者类、方法进行测试熟悉程序的运行过程、
八、项目全局配置
1、配置文件
我们前面在resourses里面新建了application.yml文件,也可以是application.properties文件,这两个文件都可以作为全局的所有内容的配置文件,比如我们就将端口设置放在这个配置文件中,整个spring boot2框架可以自动读取这个配置文件中的内容。
总之就是所有配置相关的都放在这个配置文件中。
2、官方文档
官方文档中对应位置
https://docs.spring.io/spring-boot/docs/2.7.18/reference/html/application-properties.html#appendix.application-properties
九、项目部署
1、官方文档
官方文档中对应位置
https://docs.spring.io/spring-boot/docs/2.7.18/reference/html/executable-jar.html#appendix.executable-jar
2、打包过程
引用spring boot提供的插件,就可以将项目直接打包成一个jar包。这个jar包自带所有的运行环境。
我们来把这个插件引用到项目的maven配置文件pom.xml中。
<build> <plugins> <plugin> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-maven-plugin</artifactId> </plugin> </plugins> </build>
然后进行maven - clean - package进行打包。
项目打包完成!
项目target中出现打包后的jar包。
在文件夹中查看打包好的jar包。
3、执行jar包
打开jar包所在的路径进行命令行操作。
输入dir
dir
停掉当前已经运行的后台程序,运行jar包中的程序。
输入java -jar jar包名称,按下回车,我这里文件名字是hello-boot2-1.0-SNAPSHOT.jar,所以输入的运行信息是:
java -jar hello-boot2-1.0-SNAPSHOT.jar
按下回车后项目在命令行中已经启动!!!
验证测试,在浏览器中运行与调用。没问题。
4、在服务器执行
在服务器中执行与在本地cmd命令中执行类似。
5、jar包中都有什么
JAR 包(Java Archive) 是 Java 项目的压缩包,通常包含以下内容:
- 编译后的
.class
文件:Java 源代码编译后的字节码,JVM 直接执行这些文件。 - 资源文件:如配置文件(
application.properties
/application.yml
)、图片、XML、HTML 等。 - 依赖库:项目所需的第三方库(JAR 包内的
lib
目录或通过 Maven/Gradle 管理的依赖)。 - 元数据:
META-INF/MANIFEST.MF
文件,描述 JAR 的属性(如主类入口、版本等)。
简短总结:JAR 包是 Java 应用的打包格式,封装了代码、资源、依赖和元数据,便于分发和运行。
6、注意事项
-
有的cmd运行不了,关掉快速编辑
我的没有开启了这个属性也可以运行。
-
每次添加maven依赖后,都要刷新一下。
十、所有源代码
Maven的安装路径下的setting.xml文件中新增(覆盖)
<mirrors> <mirror> <id>nexus-aliyun</id> <mirrorOf>central</mirrorOf> <name>Nexus aliyun</name> <url>http://maven.aliyun.com/nexus/content/groups/public </mirror> </mirrors> <profiles> <profile> <id>jdk-1.8</id> <activation> <activeByDefault>true</activeByDefault> <jdk>1.8</jdk> </activation> <properties> <maven.compiler.source>1.8</maven.compiler.source> <maven.compiler.target>1.8</maven.compiler.target> <maven.compiler.compilerVersion>1.8</maven.compiler.compilerVersion> </properties> </profile> </profiles>
依赖包pom.xml
<?xml version=\"1.0\" encoding=\"UTF-8\"?><project xmlns=\"http://maven.apache.org/POM/4.0.0\" xmlns:xsi=\"http://www.w3.org/2001/XMLSchema-instance\" xsi:schemaLocation=\"http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd\"> <modelVersion>4.0.0</modelVersion> <groupId>com.hello</groupId> <artifactId>hello-boot2</artifactId> <version>1.0-SNAPSHOT</version> <parent> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-parent</artifactId> <version>2.3.4.RELEASE</version> </parent> <dependencies> <dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-web</artifactId> </dependency> </dependencies> <build> <plugins> <plugin> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-maven-plugin</artifactId> </plugin> </plugins> </build> <properties> <maven.compiler.source>8</maven.compiler.source> <maven.compiler.target>8</maven.compiler.target> <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding> </properties></project>
配置文件application.yml
server: port: 8083 # 修改端口为 8083
主程序MainApplication类
package com.hello;import org.springframework.boot.SpringApplication;import org.springframework.boot.autoconfigure.SpringBootApplication;/** * 主程序类 * @SpringBootApplication 这是一个SpringBoot应用 */@SpringBootApplicationpublic class MainApplication { public static void main(String[] args) { SpringApplication.run(MainApplication.class, args); // 拼接最终启动成功信息 String successMessage = \"🎉 **启动成功!** (ノ◕ヮ◕)ノ*:・゚✧\\n\" + \"✨ *服务已就绪,端口 8083* ✨\\n\" + \"💻 访问地址:`http://localhost:8083`\\n\" + \"💪 **Go! Go! Go!** (ง •_•)ง\"; System.out.println(successMessage); }}
业务程序controller.HelloController类
package com.hello.conroller;import org.springframework.stereotype.Controller;import org.springframework.web.bind.annotation.RequestMapping;import org.springframework.web.bind.annotation.ResponseBody;import org.springframework.web.bind.annotation.RestController;//@ResponseBody // 类上加,表示该类下所有方法返回值作为响应体返回给浏览器//@Controller // 类上加,表示该类下所有方法都是控制器方法@RestController // 是@ResponseBody与@Controller的合并体public class HelloController { // @ResponseBody 单个方法的返回值作为响应体返回给浏览器 @RequestMapping(\"hello\") public String handle01(){ int a = 23; int b = 100; int c = a + b; return \"Hello, Spring Boot2 !\" + \"\\n\\n\" + c; }}
总结
本文全面介绍了 Spring Boot 2 项目从环境配置到部署的全流程,涵盖开发准备、依赖管理、代码实现、前后端交互、项目配置、打包部署等关键环节。以下是核心内容的总结:
1. 开发环境准备
- 系统要求:Java 8 或兼容版本,Maven 3.3+,IDEA 2019+。
- Maven 配置:修改
settings.xml
,使用阿里云镜像加速依赖下载,并配置 JDK 版本(如 1.8)。
2. 项目搭建与依赖管理
- 创建 Maven 工程:通过 IDEA 新建项目,选择合适的 Maven 版本。
- 引入 Spring Boot 依赖:在
pom.xml
中配置spring-boot-starter-parent
和spring-boot-starter-web
,实现快速开发。
3. 服务器与代码实现
- 端口配置:在
application.yml
中设置server.port
(如 8083)。 - 主程序编写:使用
@SpringBootApplication
注解定义主类,启动 Spring Boot 应用。 - 控制器开发:通过
@RestController
和@RequestMapping
实现前后端交互,返回 JSON 或文本数据。
4. 项目配置与测试
- 全局配置:利用
application.yml
或application.properties
管理端口、日志等配置。 - 测试验证:直接运行主类,通过浏览器访问接口(如
http://localhost:8083/hello
),验证功能。
5. 项目打包与部署
- 打包插件:引入
spring-boot-maven-plugin
,执行mvn clean package
生成可执行 JAR。 - JAR 包内容:
- 编译后的
.class
文件(JVM 执行的核心代码)。 - 资源文件(如配置文件、静态资源)。
- 依赖库(通过 Maven/Gradle 管理的第三方 JAR)。
- 元数据(
META-INF/MANIFEST.MF
,描述主类入口等信息)。
- 编译后的
- 部署运行:通过
java -jar xxx.jar
命令启动应用,支持本地或服务器部署。
6. 注意事项
- 依赖刷新:每次修改
pom.xml
后,需刷新 Maven 依赖。 - 命令行操作:若 CMD 无法运行,检查快速编辑模式或环境变量配置。
Spring Boot 2 通过 约定优于配置 的理念,简化了 Spring 应用的开发流程。从环境搭建到部署,开发者只需关注业务逻辑,无需处理复杂的配置。通过本文的指导,读者可以快速掌握 Spring Boot 项目的全流程开发,并灵活应用于实际项目中。