1. SpringBoot 简介
SpringBoot是由Pivotal团队提供的全新框架,可以帮助我们开发基于Spring的、独立的、生产级的应用程序。
其中SpringBoot的官网是:Spring Boot Reference Documentation
SpringBoot的主要目标是:
-
为所有Spring开发提供更快的入门体验
-
开箱即用,提供了自动配置
-
提供一系列大型项目通用的非功能性特性
- 外部化配置、嵌入式服务器、安全性、健康检查、指标
-
完全不需要代码生成,也不需要XML配置
注意:SpringBoot 并不是Spring功能上的增强,而是提供了一种快速使用Spring的方式。
2. SpringBoot入门
2.1 入门案例开发步骤
这里先采用的是手动创建的方式
-
新建Maven项目
-
引入依赖
<parent> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-parent</artifactId> <version>2.7.3</version> </parent> <dependencies> <dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-web</artifactId> </dependency> </dependencies>
-
创建引导类
package com.north; import org.springframework.boot.SpringApplication; import org.springframework.boot.autoconfigure.SpringBootApplication; /** * @Author North * @Date 2024/5/2 */ @SpringBootApplication public class Application { public static void main(String[] args) { SpringApplication.run(Application.class, args); } }
-
开发控制器类
package com.north.controller; import org.springframework.web.bind.annotation.RequestMapping; import org.springframework.web.bind.annotation.RestController; /** * @Author North * @Date 2024/5/2 */ @RestController @RequestMapping("/books") public class BookController { @RequestMapping("/save") public String save() { System.out.println("user save"); return "hello springboot!"; } }
-
运行自动生成的Application类
2.2 通过idea骨架进行创建
2.3 基于SpringBoot官网进行创建
官网地址
3. 思考:
-
入门案例中没有引入spring-webmvc等依赖包,没有配置Tomcat服务器,为什么能正常启动?
-
SpringBoot 内部集成的含有tomcat
-
-
没有配置端口号,为什么端口是8080?
- Tomcat端口号默认配置为8080
4. SpringBoot 入门总结 - 起步依赖
-
starter
- SpringBoot中常见项目名称,定义了当前项目使用的所有项目坐标,以达到减少依赖配置的目的
-
parent
- 所有SpringBoot项目要继承的项目,定义了若干个坐标版本号(依赖管理,而非依赖),以达到减少依赖冲突的目的
- spring-boot-starter-parent(2.5.0)与 spring-boot-starter-parent(2.4.6)共计57处坐标版本不同
实际开发
- 使用任意坐标时,仅书写GAV中的G和A,V由SpringBoot提供
- 如发生坐标错误,再指定version(要小心版本冲突)
pom中starter、parent作用是什么?
- starter:减少依赖配置
- parent: 减少依赖冲突
标签:SpringBoot,parent,boot,springframework,org,starter,入门 From: https://www.cnblogs.com/NorthPoet/p/18169936