当前位置: 首页 > news >正文

springboot3快速入门案例2024最新版

前边

springboot3 系统要求

技术&工具版本(or later)
maven3.6.3 or later 3.6.3 或更高版本
Tomcat10.0+
Servlet9.0+
JDK17+

image.png
SpringBoot的主要目标是:

  • 为所有 Spring 开发提供更快速、可广泛访问的入门体验。
  • 开箱即用,设置合理的默认值,但是也可以根据需求进行适当的调整。
  • 提供一系列大型项目通用的非功能性程序(如嵌入式服务器、安全性、指标、运行检查等)。
  • 约定大于配置,基本不需要主动编写配置类、也不需要 XML 配置文件。

总结:简化开发,简化配置,简化整合,简化部署,简化监控,简化运维。

快速入门

场景:浏览器发送**/hello**请求,返回"Hello,Spring Boot 3!"

  1. 开发步骤
    1. 创建Maven工程
    2. 添加依赖(springboot父工程依赖 , web启动器依赖)
    3. 编写启动引导类(springboot项目运行的入口)
    4. 编写处理器Controller
    5. 启动项目
  2. 创建项目
    1. 创建一个空项目image.png
    2. 创建一个‘springboot 快速启动’模块image.pngimage.png
    3. 添加依赖
      1. 添加父工程坐标image.png

SpringBoot可以帮我们方便的管理项目依赖 , 在Spring Boot提供了一个名为spring-boot-starter-parent的工程,里面已经对各种常用依赖的版本进行了管理,我们的项目需要以这个项目为父工程,这样我们就不用操心依赖的版本问题了,需要什么依赖,直接引入坐标(不需要添加版本)即可!

<!--所有springboot项目都必须继承自 spring-boot-starter-parent-->
<parent><groupId>org.springframework.boot</groupId><artifactId>spring-boot-starter-parent</artifactId><version>3.0.5</version>
</parent>
  2. 添加web启动器

为了让Spring Boot帮我们完成各种自动配置,我们必须引入Spring Boot提供的自动配置依赖,我们称为启动器。因为我们是web项目,这里我们引入web启动器,在 pom.xml 文件中加入如下依赖:

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

image.png

  1. 创建启动类
package com.atguigu;import org.springframework.boot.SpringApplication;
import org.springframework.boot.autoconfigure.SpringBootApplication;/*** @SpringBootApplication是一个特殊的注解,用于标识一个Spring Boot应用程序的入口类。它的主要作用是将三个常用注解组合在一起,简化了配置的过程。** 具体而言,@SpringBootApplication注解包含以下三个注解的功能:*     @Configuration:将该类标识为应用程序的配置类。它允许使用Java代码定义和配置Bean。*     @EnableAutoConfiguration:启用Spring Boot的自动配置机制。它根据项目的依赖项自动配置Spring应用程序的行为。自动配置根据类路径、注解和配置属性等条件来决定要使用的功能和配置。*     @ComponentScan:自动扫描并加载应用程序中的组件,如控制器、服务、存储库等。它默认扫描@SpringBootApplication注解所在类的包及其子包中的组件。** 使用@SpringBootApplication注解,可以将上述三个注解的功能集中在一个注解上,简化了配置文件的编写和组件的加载和扫描过程。它是Spring Boot应用程序的入口点,标识了应用程序的主类,* 并告诉Spring Boot在启动时应如何配置和加载应用程序。*/
@SpringBootApplication//表示这个类是启动类
public class Main {public static void main(String[] args) {SpringApplication.run(Main.class,args);//自动创建IOC,自动服务器软件(默认为tomcat)//现在点击按钮运行,springboot就启动了}
}

image.png

  1. 编写处理器 controller

创建package:com.atguigu.controller
创建类:HelloController
注意: IoC和DI注解需要在启动类的同包或者子包下方可生效!无需指定,约定俗成。

package com.atguigu.controller;import org.springframework.web.bind.annotation.GetMapping;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RestController;@RestController
@RequestMapping("hello")
public class HelloController {@GetMapping("boot")public String hello(){return "Hello Springboot3 !!!";}
}

image.png

  1. 启动测试“启动类”image.pngimage.png

相关文章:

springboot3快速入门案例2024最新版

前边 springboot3 系统要求 技术&工具版本&#xff08;or later&#xff09;maven3.6.3 or later 3.6.3 或更高版本Tomcat10.0Servlet9.0JDK17 SpringBoot的主要目标是&#xff1a; 为所有 Spring 开发提供更快速、可广泛访问的入门体验。开箱即用&#xff0c;设置合理的…...

软考 系统架构设计师系列知识点之系统性能(1)

所属章节&#xff1a; 第2章. 计算机系统基础知识 第9节. 系统性能 系统性能是一个系统提供给用户的所有性能指标的集合。它既包括硬件性能&#xff08;如处理器主频、存储器容量、通信带宽等&#xff09;和软件性能&#xff08;如上下文切换、延迟、执行时间等&#xff09;&a…...

Trent-FPGA硬件设计课程

本课程涵盖FPGA硬件设计的基础概念和实践应用。学生将学习Verilog语言编程、数字电路设计原理、FPGA架构和开发工具的使用。通过项目实践&#xff0c;掌握FPGA设计流程和调试技巧&#xff0c;为硬件加速和嵌入式系统开发打下坚实基础。 课程大小&#xff1a;4.3G 课程下载&am…...

【大模型学习记录】db-gpt源码安装问题汇总

1、首次源码安装时安装的其实dbgpt到conda环境中&#xff0c;会将路径一起安装。 如果有其他的路径使用同样的conda环境会报错&#xff0c;一直读取的就是原先的路径的内容。需要自己新创建一个conda env 2、界面中配置知识库问答时&#xff0c;报错 # 1、报的错如下&#x…...

QB PHP 多语言配置

1&#xff1a; 下载QBfast .exe 的文件 2&#xff1a; 安装的时候 &#xff0c;一定点击 仅为我 安装 而不是 所有人 3&#xff1a; 如果提示 更新就 更新 &#xff0c; 安装如2 4&#xff1a; 如果遇到 新增 或者编辑已经 配置的项目时 不起作用 &#xff1a; 右…...

Kubernetes实战(三十一)-使用开源CEPH作为后端StorageClass

1 引言 K8S在1.13版本开始支持使用Ceph作为StorageClass。其中云原生存储Rook和开源Ceph应用都非常广泛。本文主要介绍K8S如何对接开源Ceph使用RBD卷。 K8S对接Ceph的技术栈如下图所示。K8S主要通过容器存储接口CSI和Ceph进行交互。 Ceph官方文档&#xff1a;Block Devices a…...

【Python爬虫】详解BeautifulSoup()及其方法

文章目录 &#x1f354;准备工作&#x1f339;BeautifulSoup()⭐代码实现✨打印标签里面的内容✨快速拿到一个标签里的属性✨打印整个文档&#x1f386;获取特定标签的特定内容 &#x1f339;查找标签&#x1f388;在文档查找标签 find_all&#x1f388;正则表达式搜索 &#x…...

C语言经典算法-8

文章目录 其他经典例题跳转链接41.基数排序法42.循序搜寻法&#xff08;使用卫兵&#xff09;43.二分搜寻法&#xff08;搜寻原则的代表&#xff09;44.插补搜寻法45.费氏搜寻法 其他经典例题跳转链接 C语言经典算法-1 1.汉若塔 2. 费式数列 3. 巴斯卡三角形 4. 三色棋 5. 老鼠…...

Panasonic松下PLC如何数据采集?如何实现快速接入IIOT云平台?

在工业自动化领域&#xff0c;数据采集与远程控制是提升生产效率、优化资源配置的关键环节。对于使用Panasonic松下PLC的用户来说&#xff0c;如何实现高效、稳定的数据采集&#xff0c;并快速接入IIOT云平台&#xff0c;是摆在他们面前的重要课题。HiWoo Box工业物联网关以其强…...

高性能 MySQL 第四版(GPT 重译)(四)

第十一章&#xff1a;扩展 MySQL 在个人项目中运行 MySQL&#xff0c;甚至在年轻公司中运行 MySQL&#xff0c;与在市&#xfffd;&#xfffd;已经建立并且“呈现指数增长”业务中运行 MySQL 大不相同。在高速业务环境中&#xff0c;流量可能每年增长数倍&#xff0c;环境变得…...

整型数组按个位值排序 - 华为OD统一考试(C卷)

OD统一考试&#xff08;C卷&#xff09; 分值&#xff1a; 100分 题解&#xff1a; Java / Python / C 题目描述 给定一个非空数组(列表)&#xff0c;其元素数据类型为整型&#xff0c;请按照数组元素十进制最低位从小到大进行排序&#xff0c;十进制最低位相同的元素&#xf…...

【React】Diff算法

1. React15 Diff算法&#xff08;递归进行&#xff09; 一句话概括&#xff1a;新虚拟DOM和旧虚拟DOM对比&#xff0c;找出差异&#xff0c;根据差异更新真实DOM Diff过程描述&#xff1a; 1. 树比较(DOM) 同层节点之间相互比较&#xff0c;不会跨层级比较。&#xff08;当发现…...

【物联网】Modbus 协议及应用

Modbus 协议简介 QingHub设计器在设计物联网数据采集时不可避免的需要针对Modbus协议的设备做相关数据采集&#xff0c;这里就我们的实际项目经验分享Modbus协议 简介 Modbus由MODICON公司于1979年开发&#xff0c;是一种工业现场总线协议标准。1996年施耐德公司推出基于以太…...

Docker容器引擎

1、Docker是什么。 Docker是在Linux容器里运行应用的开源工具&#xff0c;是一种轻量级的"虚拟机"。Docker的logo设计为蓝色鲸鱼&#xff0c;拖着许多集装箱。鲸鱼可以看作宿主机&#xff0c;而集装箱可以理解为相互隔离的容器&#xff0c;每个集装箱中都包含自己的应…...

2.28线程

注意被抢占时是返回原队列&#xff0c;优先级不变。越往下优先级越小。往下没有优先级时&#xff0c;在最低的优先级队列里循环 到达了不一定会被服务&#xff0c;会进入就绪态进行等待 。核心等式就是周转时间运行时间等待时间&#xff0c;带权就是周转/运行&#xff0c; 随着…...

TCP/IP ⽹络模型

TCP/IP ⽹络模型 对于同⼀台设备上的进程间通信&#xff0c;有很多种⽅式&#xff0c;⽐如有管道、消息队列、共享内存、信号等⽅式&#xff0c;⽽对于不同设备上的进程间通信&#xff0c;就需要⽹络通信&#xff0c;⽽设备是多样性的&#xff0c;所以要兼容多种多样的设备&am…...

云原生:重塑未来应用的基石

随着数字化时代的不断深入&#xff0c;云原生已经成为了IT领域的热门话题。它代表着一种全新的软件开发和部署范式&#xff0c;旨在充分利用云计算的优势&#xff0c;并为企业带来更大的灵活性、可靠性和效率。今天我们就来聊一聊这个热门的话题&#xff1a;云原生~ &#x1f4…...

蓝桥杯day4刷题日记

P8605 [蓝桥杯 2013 国 AC] 网络寻路 思路来源于https://www.luogu.com.cn/article/iat8irsf #include <iostream> using namespace std; int n,m; int q[10010]; int v[100010],u[100010]; long long res;int main() {cin>>n>>m;for(int i0;i<m;i){cin…...

[Qt学习笔记]Qt下使用Halcon实现采图时自动对焦的功能(Brenner梯度法)

目录 1、介绍2、实现方法2.1 算法实现过程2.2 模拟采集流程 3、总结4、代码展示 1、介绍 在机器视觉的开发中&#xff0c;现在有很多通过电机去做相机的聚焦调节&#xff0c;对比手工调节&#xff0c;自动调节效果更好&#xff0c;而且其也能满足设备自动的需求&#xff0c;尤…...

常州IGM机器人RTE497的日常维修保养方法

一、IGM机器人RTE497日常检查 每日工作前&#xff0c;进行以下检查&#xff1a; 外观检查&#xff1a;确认IGM机器人RTE497本体无明显损伤&#xff0c;各部件连接稳固。 电缆检查&#xff1a;检查所有电缆、气管等是否完好&#xff0c;无磨损、无挤压。 润滑检查&#xff1a;确…...

eNSP-Cloud(实现本地电脑与eNSP内设备之间通信)

说明&#xff1a; 想象一下&#xff0c;你正在用eNSP搭建一个虚拟的网络世界&#xff0c;里面有虚拟的路由器、交换机、电脑&#xff08;PC&#xff09;等等。这些设备都在你的电脑里面“运行”&#xff0c;它们之间可以互相通信&#xff0c;就像一个封闭的小王国。 但是&#…...

日语AI面试高效通关秘籍:专业解读与青柚面试智能助攻

在如今就业市场竞争日益激烈的背景下&#xff0c;越来越多的求职者将目光投向了日本及中日双语岗位。但是&#xff0c;一场日语面试往往让许多人感到步履维艰。你是否也曾因为面试官抛出的“刁钻问题”而心生畏惧&#xff1f;面对生疏的日语交流环境&#xff0c;即便提前恶补了…...

应用升级/灾备测试时使用guarantee 闪回点迅速回退

1.场景 应用要升级,当升级失败时,数据库回退到升级前. 要测试系统,测试完成后,数据库要回退到测试前。 相对于RMAN恢复需要很长时间&#xff0c; 数据库闪回只需要几分钟。 2.技术实现 数据库设置 2个db_recovery参数 创建guarantee闪回点&#xff0c;不需要开启数据库闪回。…...

日语学习-日语知识点小记-构建基础-JLPT-N4阶段(33):にする

日语学习-日语知识点小记-构建基础-JLPT-N4阶段(33):にする 1、前言(1)情况说明(2)工程师的信仰2、知识点(1) にする1,接续:名词+にする2,接续:疑问词+にする3,(A)は(B)にする。(2)復習:(1)复习句子(2)ために & ように(3)そう(4)にする3、…...

在HarmonyOS ArkTS ArkUI-X 5.0及以上版本中,手势开发全攻略:

在 HarmonyOS 应用开发中&#xff0c;手势交互是连接用户与设备的核心纽带。ArkTS 框架提供了丰富的手势处理能力&#xff0c;既支持点击、长按、拖拽等基础单一手势的精细控制&#xff0c;也能通过多种绑定策略解决父子组件的手势竞争问题。本文将结合官方开发文档&#xff0c…...

3.3.1_1 检错编码(奇偶校验码)

从这节课开始&#xff0c;我们会探讨数据链路层的差错控制功能&#xff0c;差错控制功能的主要目标是要发现并且解决一个帧内部的位错误&#xff0c;我们需要使用特殊的编码技术去发现帧内部的位错误&#xff0c;当我们发现位错误之后&#xff0c;通常来说有两种解决方案。第一…...

最新SpringBoot+SpringCloud+Nacos微服务框架分享

文章目录 前言一、服务规划二、架构核心1.cloud的pom2.gateway的异常handler3.gateway的filter4、admin的pom5、admin的登录核心 三、code-helper分享总结 前言 最近有个活蛮赶的&#xff0c;根据Excel列的需求预估的工时直接打骨折&#xff0c;不要问我为什么&#xff0c;主要…...

Nuxt.js 中的路由配置详解

Nuxt.js 通过其内置的路由系统简化了应用的路由配置&#xff0c;使得开发者可以轻松地管理页面导航和 URL 结构。路由配置主要涉及页面组件的组织、动态路由的设置以及路由元信息的配置。 自动路由生成 Nuxt.js 会根据 pages 目录下的文件结构自动生成路由配置。每个文件都会对…...

DBAPI如何优雅的获取单条数据

API如何优雅的获取单条数据 案例一 对于查询类API&#xff0c;查询的是单条数据&#xff0c;比如根据主键ID查询用户信息&#xff0c;sql如下&#xff1a; select id, name, age from user where id #{id}API默认返回的数据格式是多条的&#xff0c;如下&#xff1a; {&qu…...

CMake控制VS2022项目文件分组

我们可以通过 CMake 控制源文件的组织结构,使它们在 VS 解决方案资源管理器中以“组”(Filter)的形式进行分类展示。 🎯 目标 通过 CMake 脚本将 .cpp、.h 等源文件分组显示在 Visual Studio 2022 的解决方案资源管理器中。 ✅ 支持的方法汇总(共4种) 方法描述是否推荐…...