Spring Boot 学习(5)——开发流程:快速入门

花了几天的时间,整出个 "hello spring boot",并且把它从 2 搞到了 3。

纸上得来终觉浅!自己实践出真知!现在再回头来囫囵一遍,加深下印象。回想下从前自觉某一编程语言大都如此,先找到简单示例照着画一遍,然后再找书过前面几章,剩下就是尝试上手,书本就成了工具书,需要哪块或是不知道哪块,对着翻目录解决之。讲真,前些年买的书从来没有一本从头看到底过。也就养成了急用先学、知其然不知其所以然的坏习惯。

其实,之于当前社会,不都是如此么?能够深耕学问、专注研究的,都成了大神、大家,普罗大众只是沦为工具人而已。这也是社会选择的必然,任何一行一业,能站在顶端的只有少数一些人。所以,我也无须妄自菲薄,做好自己的事,做自己想做的事,此生足亦!何须与他人比长短呢......


开发流程

idea【工具可以任选,为方便学习理解此次选用了 intellij idea】,通过 mavne 或 spring initializr 创建工程,相较 spring initializr 创建起来更为便捷(使用 spring initializr 创建工程时可以选择开发时所依赖的环境,通常不用再配置 pom 文件),本例使用 maven 创建工程后手工配置。

1、创建项目

在pom文件中配置如下:

pom 文件详解参见:maven:pom文件详解_pom directory-CSDN博客

XML 复制代码
    <!--  所有springboot 项目都继承自 spring-boot-starter-parent -->
    <parent>
        <groupId>org.springframework.boot</groupId>
        <artifactId>spring-boot-starter-parent</artifactId>
        <version>3.2.4</version>
    </parent>

"<version>3.2.4</version>" 版本号根据项目实际进行配置。

2、导入场景

为 web 项目配置启动器

pom 文件中配置如下:

XML 复制代码
    <dependencies>
        <!--  web 开发的场景启动器  -->
        <dependency>
            <groupId>org.springframework.boot</groupId>
            <artifactId>spring-boot-starter-web</artifactId>
        </dependency>
    </dependencies>

3、主程序

新建一个类(在创建项目时没有生成示例代码)com.seraph.boot.MainApplication,编辑代码如下:

java 复制代码
package com.seraph;

import org.springframework.boot.SpringApplication;
import org.springframework.boot.autoconfigure.SpringBootApplication;

// 声明这是一个 SpringBoot 应用
@SpringBootApplication
public class MainApplication {
    // main 方法,主程序入口
    public static void main(String[] args) {
        // springboot 应用启动代码
        SpringApplication.run(MainApplication.class, args);
        // 控制台输出
        System.out.println("Hello SrpingBoot3!");
    }
}

先测试一下,结果如下:

控制台输出

浏览器输出(因为没写任何业务代码响应请求)

4、业务代码

boot 上右击新建一个类 controller.HelloController(controller 默认包名)

代码编写如下:

java 复制代码
@RestController     // @Controller + ResponseBody
public class HelloController {
    // 响应 /hello 路径请求
    @RequestMapping("/hello")    // GetMapping + PostMapping
    public String hello() {
        return "hello, spring boot 3.0";
    }
    
    // 响应 / 默认路径请求
    @RequestMapping("/")
    public String index() {
        return "this is index page";
    }
}

RestControl = Controll + ResponseBody

RequestMapping = GetMapping + PostMapping

5、测试

输出结果如下:

默认路径

/hello 路径

6、打包

XML 复制代码
	<build>
		<plugins>
			<plugin>
				<groupId>org.springframework.boot</groupId>
				<artifactId>spring-boot-maven-plugin</artifactId>
			</plugin>
		</plugins>
	</build>

配置 SpringBoot 应用打包插件。

打包。

默认 jar 包生成在工程目录下 target 目录中。

7、发布

以 win 环境为例(假设已有 java 运行环境,且版本满足要求,已在系统环境变量中配置了路径),将生成的 jar 包放到某一目录中(路径中不得有空格、中文字符等)。打开命令提示行,进入 jar 包所在目录,输入:

cpp 复制代码
java -jar boot3-01-demo-1.0-SNAPSHOT.jar

格式:java -jar 包名

如当前位置在 jar 包目录中,可只输入包名。否则应包名应包含全路径,如:

cpp 复制代码
java -jar D:\wj\srping-boot-3\boot3-01-demo\target>java -jar boot3-01-demo-1.0-SNAPSHOT.jar

运行结果如下:

请求对应路径("/" 和 "/hello")浏览器返回结果如前图(5、测试)所示,即表示运行成功。

至此,一个简单工程的开发(假装包含了发布)流程全部完成。

相关推荐
叼烟扛炮4 小时前
Linux 学习笔记(五十八):IO 多路复用封神——epoll 底层原理揭秘
linux·运维·服务器·网络·笔记·学习·php
秋天的怀念_David6 小时前
算法一千零一夜 · 第二十六夜 协议的母语
java·spring boot·算法
余槐i8 小时前
MySQL 8.0 联合索引走错:为什么加了索引查询反而从 200ms 变成 8s
java·spring boot·mysql·docker·性能优化
nice_lcj52012 小时前
【从零理解 Spring AI · 03】Spring AI 在 Spring 生态里的位置
java·spring boot·大模型·spring ai·ai应用开发
Z21-X13 小时前
云原生运维学习笔记:容器技术的演进、底层原理与 Docker 全生命周期管理
运维·笔记·学习·云原生
Rabitebla20 小时前
【Linux 底层原理】进程(十):进程等待详解---从僵尸进程到 wait、waitpid 与 status
linux·c++·笔记·学习·visual studio
无心水1 天前
24、系统架构师论文写作专题 核心考点与学习笔记
笔记·学习·系统架构·架构师·安全架构·软考架构师·软考系统架构设计师
蒸蒸yyyyzwd1 天前
邓明 Agent 系统面试-意图识别学习笔记
笔记·学习
AI源码1 天前
旅游推荐管理系统
spring boot
La Pulga1 天前
【FreeRTOS源码学习笔记】空闲任务与阻塞延时
笔记·mcu·学习·嵌入式·freertos·实时操作系统