一、SPringBoot3介绍
1、介绍
1、使用版本
1、这课程使用SpringBoot版本:3.0.5
2、为什么使用
1、我们之前学了ssm整合。发现要配置很多的文件。让人很不舒服
2、Spring家族,就启动SPringBoot来帮助我们简化配置!!!
3、目标
1、 为所有 Spring 开发提供更快速、可广泛访问的入门体验。
2、开箱即用,设置合理的默认值,但是也可以根据需求进行适当的调整。
3、提供一系列大型项目通用的非功能性程序(如嵌入式服务器、安全性、指标、运行检查等)。
4、约定大于配置,基本不需要主动编写配置类、也不需要 XML 配置文件。
4、总结
1、简化开发,简化配置,简化整合,简化部署,简化监控,简化运维。
2、系统要求
| 技术&工具 | 版本(or later) |
| maven | 3.6.3 or later 3.6.3 或更高版本 |
| Tomcat | 10.0+ |
| Servlet | 9.0+ |
| JDK | 17+ |
3、快速入门
1、需求
1、浏览器发送/hello请求,返回"Hello,Spring Boot 3!"
2、操作步骤
1、先创建项目
2、给项目添加依赖(Springboot父工程依赖,web启动器依赖)
-
继承了Springboot父工程依赖,就可以简化很多配置。因为父工程已经配置了
-
父工程依赖
-
org.springframework.boot spring-boot-starter-parent 3.0.5 -
web启动器依赖
-
org.springframework.boot spring-boot-starter-web
3、编写启动引导类(Springboot项目运行的入口)
4、编写controller层业务
5、启动项目
3、代码实现
1、创建项目
2、导入以上两个依赖在pom.xml中
3、编写启动引导类
-
这个在main方法中写
-
写完,会自动扫描,引导类中的包和子包的类
-
package com.atguigu; import org.springframework.boot.SpringApplication; import org.springframework.boot.autoconfigure.SpringBootApplication; @SpringBootApplication // 开启自动配置 public class Main { public static void main(String[] args) { SpringApplication.run(Main.class,args); } }
4、编写controller层代码
package com.atguigu.controller;
import org.springframework.web.bind.annotation.GetMapping;
import org.springframework.web.bind.annotation.RestController;
@RestController
public class HelloController {
@GetMapping("/hello")
public String hello(){
return "Hello,Spring Boot 3!";
}
}
5、直接启动测试
4、总结
1、为什么我们导入的web依赖不用写版本?
1、因为boot项目的父工程已经帮我们写好了,会传递依赖
- 每个boot项目都有一个父项目
spring-boot-starter-parent - parent的父项目是
spring-boot-dependencies - 父项目 版本仲裁中心,把所有常见的jar的依赖版本都声明好了。
2、启动器是什么(Starter)?
1、概念
- Spring Boot提供了一种叫做Starter的概念,它是一组预定义的依赖项集合,旨在简化Spring应用程序的配置和构建过程。
- Starter包含了一组相关的依赖项,以便在启动应用程序时自动引入所需的库、配置和功能。
2、主要作用
- 简化依赖管理:
- Spring Boot Starter通过捆绑和管理一组相关的依赖项,减少了手动解析和配置依赖项的工作。
- 只需引入一个相关的Starter依赖,即可获取应用程序所需的全部依赖。
- 自动配置:
- Spring Boot Starter在应用程序启动时自动配置所需的组件和功能。
- 通过根据类路径和其他设置的自动检测,Starter可以自动配置Spring Bean、数据源、消息传递等常见组件,从而使应用程序的配置变得简单和维护成本降低。
- 提供约定优于配置:
- Spring Boot Starter遵循“约定优于配置”的原则,通过提供一组默认设置和约定,减少了手动配置的需要。
- 它定义了标准的配置文件命名约定、默认属性值、日志配置等,使得开发者可以更专注于业务逻辑而不是繁琐的配置细节。
- 快速启动和开发应用程序:
- Spring Boot Starter使得从零开始构建一个完整的Spring Boot应用程序变得容易。
- 它提供了主要领域(如Web开发、数据访问、安全性、消息传递等)的Starter,帮助开发者快速搭建一个具备特定功能的应用程序原型。
- 模块化和可扩展性:
- Spring Boot Starter的组织结构使得应用程序的不同模块可以进行分离和解耦。
- 每个模块可以有自己的Starter和依赖项,使得应用程序的不同部分可以按需进行开发和扩展。
3、springboot提供的全部启动器地址
1、链接:Developing with Spring Boot
4、命名规范
- 官方提供的场景:命名为:
spring-boot-starter-* - 第三方提供场景:命名为:
*-spring-boot-starter
3、@SpringBootApplication注解的功效?
1、是一个组合注解。组合了以下注解
- @SpringBootConfiguration
- 注解类
- @EnableAutoConfiguration
- 启动springboot的自动配置机制的作用
- @ComponentScan
- 组件扫描
- public @interface SpringBootApplication {}
2、总而言之:主要是为了简化配置。
- 自动配置应用程序、扫描并加载组件
- 将配置和扫描合二为一