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

news2025/6/5 18:58:03

       花了几天的时间,整出个 “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博客

    <!--  所有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 文件中配置如下:

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

       3、主程序

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

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 默认包名)

       代码编写如下:

@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、打包

	<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 包所在目录,输入:

java -jar boot3-01-demo-1.0-SNAPSHOT.jar

       格式:java -jar 包名

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

java -jar D:\wj\srping-boot-3\boot3-01-demo\target>java -jar boot3-01-demo-1.0-SNAPSHOT.jar

        运行结果如下:

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

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

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/1592841.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

【LAMMPS学习】八、基础知识(2.7)NEMD 模拟

8. 基础知识 此部分描述了如何使用 LAMMPS 为用户和开发人员执行各种任务。术语表页面还列出了 MD 术语&#xff0c;以及相应 LAMMPS 手册页的链接。 LAMMPS 源代码分发的 examples 目录中包含的示例输入脚本以及示例脚本页面上突出显示的示例输入脚本还展示了如何设置和运行各…

深入微服务框架:构建高效、可扩展与弹性的现代应用架构

前言&#xff1a;当今快速迭代和多变的商业环境中&#xff0c;传统的单体应用程序面临着一系列挑战&#xff0c;包括难以管理复杂性、缺乏灵活性以及无法有效扩展等问题。随着业务需求的不断增长和技术栈的不断演进&#xff0c;企业亟需一种更加模块化、易于管理和扩展的应用程…

【Godot4.2】CanvasItem绘图函数全解析 - 8.绘制点索引

概述 在示意图绘制过程中或者测试过程中&#xff0c;可能需要标记点的索引。 最常见的形式就是用一个圆圈作为背景&#xff0c;用阿拉伯数字作为索引。 实现的重点是动态计算背景圆的半径。原理是&#xff0c;获取字符串的矩形&#xff0c;取对角线长度的一半作为外接圆的半…

Servlet测试1

通过按钮提交get,post请求&#xff0c;并且后端响应数据&#xff0c;显示到前端 当点击get按钮时 是发起Get请求 后端接收到Get请求后&#xff0c;把数据写入到body内 当点击pst按钮时 是发起Post请求 后端接收到Post请求后&#xff0c;把数据写入到body内 之后前端就从bod…

【避坑/个人总结】CARLA仿真遇到问题总结1

问题描述 执行以下命令时&#xff1a; ./CarlaUE4.sh // 以及 ros2 launch carla_shenlan_bridge_ego_vis carla_bridge_ego_vehilce.launch.py 出现以下的问题&#xff1a; 解决方法&#xff1a; 更新numpy库到1.23的版本

Linux【实战篇】—— NFS服务搭建与配置

目录 一、介绍 1.1什么是NFS&#xff1f; 1.2客户端与服务端之间的NFS如何进行数据传输&#xff1f; 1.3RPC和NFS的启动顺序 1.4NFS服务 系统守护进程 二、安装NFS服务端 2.1安装NFS服务 2.2 创建共享目录 2.3创建共享目录首页文件 2.4关闭防火墙 2.5启动NFS服务 2.…

【蓝桥杯】2024年第15届真题题目

试题 A: 握手问题 本题总分&#xff1a; 5 分 【问题描述】 小蓝组织了一场算法交流会议&#xff0c;总共有 50 人参加了本次会议。在会议上&#xff0c; 大家进行了握手交流。按照惯例他们每个人都要与除自己以外的其他所有人进 行一次握手&#xff08;且仅有一次&a…

【数据恢复软件】:Magnet AXIOM V8.0

Magnet AXIOM V8.0重大更新 1、全新的UI设计 2、更快的相应速度 3、补全工件分析 4、支持亚马逊AWS云数据&#xff08; 获取同一帐户或安全帐户上下文中的快照。 支持Windows实例、加密卷和超过1 TB的卷、具有多个卷的实例等等&#xff01; &#xff09; 5、Bug修复 6、AI支持…

【QT+QGIS跨平台编译】099:【QGIS_CORE跨平台编译】—【错误处理:qgscoordinatereferencesystem.cpp编译不通过】

点击查看专栏目录 文章目录 一、错误信息二、原因分析三、错误处理3.1 qgscoordinatereferencesystem_legacy.h3.2 qgscoordinatereferencesystem.cpp一、错误信息 macOS操作系统中,Release环境下编译qgscoordinatereferencesystem.cpp,出现错误,详细信息如下: 二

【软件设计师】计算机软考下午题试题六,Java设计模式之简单工厂模式。

【软件设计师】计算机软考下午题试题六&#xff0c;Java设计模式之简单工厂模式。 代码如下&#xff1a; //简单工厂模式 public class SimpleFactory {public static void main(String[] args) {Product ProductAFactory.createProduct("A");ProductA.info();Produc…

LeetCode 2924.找到冠军 II:脑筋急转弯——只关心入度

【LetMeFly】2924.找到冠军 II&#xff1a;脑筋急转弯——只关心入度 力扣题目链接&#xff1a;https://leetcode.cn/problems/find-champion-ii/ 一场比赛中共有 n 支队伍&#xff0c;按从 0 到 n - 1 编号。每支队伍也是 有向无环图&#xff08;DAG&#xff09; 上的一个节…

Docker Image (镜像) 常见命令

Docker Image (镜像) 常用命令 docker images 功能&#xff1a;列出本地所有的镜像。如果镜像 ID 相同&#xff0c;但是 Tag 标签不同&#xff0c;也会被当作不同的条目被列出来。 语法&#xff1a; docker images [options] [REPOSITORY[:TAG]] 别名&#xff1a; docker ima…

使用Pandas实现股票交易数据可视化

一、折线图&#xff1a;展现股价走势 1.1、简单版-股价走势图 # 简洁版import pandas as pdimport matplotlib.pyplot as plt# 读取CSV文件df pd.read_csv(../数据集/格力电器.csv)data df[[high, close]].plot()plt.show() 首先通过df[[high,close]]从df中获取最高价和收盘…

本地PC安装eNSP Pro完成简单的WLAN实验

前言 上个月底华为更新一版eNSP Pro&#xff0c;新增了AC、AP、STA等设备&#xff0c;也就是说可以在eNSP中进行WLAN相关的实验了。之前写过一篇文章《将eNSP Pro部署在华为云是什么体验》介绍了怎么在华为云上部署eNSP Pro&#xff0c;这次使用本地PC机在虚拟机中安装eNSP Pr…

配置交换机端口安全

1、实验目的 通过本实验可以掌握&#xff1a; 交换机管理地址配置及接口配置。查看交换机的MAC地址表。配置静态端口安全、动态端口安全和粘滞端口安全的方法。 2、实验拓扑 配置交换机端口安全的实验拓扑如图所示。 配置交换机端口安全的实验拓扑 3、实验步骤 &#xff…

excel中能不能用substitute函数把文本中某个字符起始的数据全部替换?

希望将A2单元格中&#xff0c;以光交开始的字符全部替换&#xff0c;本以为可以用公式SUBSTITUTE(A2,"光交","")&#xff0c;好像*不起作用。 很可惜的是&#xff0c;不仅SUBSTITUTE函数不支持通配符&#xff0c;像LEFT、RIGHT、MID、REPLACE函数都不支持通…

2024年大唐杯官网模拟题

单选(出题角度很奇怪&#xff0c;不用太纠结&#xff09; 5G NR系统中&#xff0c;基于SSB的NR同频测量在measconfig里最多可以配置&#xff08; &#xff09;个SMTC窗口。 A、3 B、4 C、1 D、2 答案&#xff1a;D 2个 5G 中从BBU到AAU需要保证&#xff08; &#xff09;Gbps…

DHCP服务器的高可靠、高可用+负载均衡配置

一、适用场景 1、DHCP地址池集中化的管理环境中&#xff08;本例建立了200个C类网24位的地址池&#xff09;&#xff1b; 2、全网仅1台合法的DHCP服务器&#xff08;要是它宕机全部断网&#xff0c;本例旨在提高服务器的可靠性、可用性&#xff0c;双DHCP服务器性能上负载均衡…

FastAPI - uvicorn设置 logger 日志格式

怎么将日志打印到文件 在main.py加入log_config“./uvicorn_config.json” import uvicornif __name__ "__main__":uvicorn.run("app:app", host"0.0.0.0", port8000, log_config"./uvicorn_config.json")uvicorn_config.json {&qu…

zookeeper和kafka消息队列

zookeeper zookeeper介绍 Zookeeper是一个开源的分布式的&#xff0c;为分布式框架提供协调服务的Apache项目 zookeeper特点 zookeeper是由一个领导者(leader)&#xff0c;多个跟随者(follower)组成的集群 Zookeepe集群中只要有半数以上节点存活&#xff0c;Zookeeper集群…