SpringBoot是由Pivotal团队提供的全新框架,其设计目的是用来简化Spring应用的初始搭建以及开发过程
步骤:
①:创建新模块,选择Spring Initializr,并配置模块相关基础信息

②:选择当前模块需要使用的技术集

总结:
- 开发
SpringBoot程序可以根据向导进行联网快速制作SpringBoot程序需要基于JDK8进行制作SpringBoot程序中需要使用何种功能通过勾选选择技术- 运行
SpringBoot程序通过运行Application程序入口进行
基于SpringBoot官网创建项目,地址:Spring Initializr
步骤:
①打开SpringBoot官网,选择Quickstart Your Project


②创建工程,并保存项目
③解压项目,通过IDE导入项目
基于阿里云创建项目,地址:https://start.aliyun.com
步骤:
①选择start来源为自定义URL
②输入阿里云start地址
③创建项目


注意:
阿里云提供的坐标版本较低,如果需要使用高版本,进入工程后手工切换
SpringBoot版本
阿里云提供的工程模板与
Spring官网提供的工程模板略有不同
步骤:
① 创建普通Maven工程

② 继承spring-boot-starter-parent
<parent>
<groupId>org.springframework.bootgroupId>
<artifactId>spring-boot-starter-parentartifactId>
<version>2.5.4version>
parent>
③ 添加依赖spring-boot-starter-web
<dependencies>
<dependency>
<groupId>org.springframework.bootgroupId>
<artifactId>spring-boot-starter-webartifactId>
dependency>
<dependency>
<groupId>org.springframework.bootgroupId>
<artifactId>spring-boot-starter-testartifactId>
<scope>testscope>
dependency>
<dependency>
<groupId>org.springframeworkgroupId>
<artifactId>spring-webartifactId>
<version>5.3.22version>
dependency>
dependencies>
④ 制作引导类Application
@SpringBootApplication
public class Application {
public static void main(String[] args) {
SpringApplication.run(Application.class, args);
}
}
⑤测试
@RestController
@RequestMapping("/books")
public class BookController {
@GetMapping
public String getById() {
System.out.println("SpringBoot is running...4");
return "SpringBoot is running...4";
}
}
| 类/配置文件 | Spring | SpringBoot |
|---|---|---|
| pom文件中的坐标 | 手工制作 | 勾选添加 |
| web3.0配置类 | 手工制作 | 无 |
| Spring/SpringMVC配置类 | 手工制作 | 无 |
| 控制器 | 手工制作 | 手工制作 |
注意:
基于
idea开发SpringBoot程序需要确保联网且能够加载到程序框架结构

SpringBoot是由Pivotal团队提供的全新框架,其设计目的是用来简化Spring应用的初始搭建以及开发过程
Spring程序缺点
SpringBoot程序优点
SpringBoot程序要继承spring-boot-starter-parent spring-boot-starter-parent中定义了若干个依赖管理parent模块可以避免多个依赖使用相同技术时出现依赖版本冲突parent的形式也可以采用引入依赖的形式实现效果
spring-boot-starter-web.pom

starter
SpringBoot中常见项目名称,定义了当前项目使用的所有依赖坐标,以达到减少依赖配置的目的parent
SpringBoot项目要继承的项目,定义了若干个坐标版本号(依赖管理,而非依赖),以达到减少依赖冲突的目的spring-boot-starter-parent各版本间存在着诸多坐标版本不同实际开发
SpringBoot提供,除非SpringBoot未提供对应版本VVersion(要小心版本冲突)注意:
- 开发
SpringBoot程序需要导入坐标时通常导入对应的starter- 每个不同的
starter根据功能不同,通常包含多个依赖坐标- 使用
starter可以实现快速配置的效果,达到简化配置的目的
@SpringBootApplication
public class Application {
public static void main(String[] args) {
SpringApplication.run(Application.class, args);
}
}
SpringBoot的引导类是Boot工程的执行入口,运行main方法就可以启动项目,未启动web服务器SpringBoot工程运行后初始化Spring容器,扫描引导类所在包加载bean小结:
SpringBoot工程提供引导类用来启动程序SpringBoot工程启动后创建并初始化Spring容器

maven依赖管理变更起步依赖项<dependency>
<groupId>org.springframework.bootgroupId>
<artifactId>spring-boot-starter-webartifactId>
<exclusions>
<exclusion>
<groupId>org.springframework.bootgroupId>
<artifactId>spring-boot-starter-tomcatartifactId>
exclusion>
exclusions>
dependency>
<dependency>
<groupId>org.springframework.bootgroupId>
<artifactId>spring-boot-starter-jettyartifactId>
dependency>
Jetty比Tomcat更轻量级,可扩展性更强(相较于Tomcat),谷歌应用引擎(GAE)已经全面切换为Jetty内置服务器
- tomcat(默认):apache出品,分子多,应用面广,负载了若干较重的组件
- jetty:更轻量级,负载性能远不及tomcat
- undertow:undertow,负载性能勉强跑赢tomcat
小结:
- 内嵌
Tomcat服务器是SpringBoot辅助功能之一- 内嵌
Tomcat工作原理是将Tomcat服务器作为对象运行,并将该对象交给Spring容器管理- 变更内嵌服务器思想是去除现有服务器,添加全新的服务器