文章目录
1. springboot简介
SpringBoot是由Pivotal团队提供的全新框架,其设计目的是用来简化Spring应用的初始搭建以及开发过程。
Spring程序缺点
- 依赖设置繁琐
- 配置繁琐
SpringBoot程序优点
- 起步依赖(简化依赖配置)
- 自动配置(简化常用工程相关配置)
- 辅助功能(内置服务器,……)
2. springboot快速开发的三种方法
2.1 idea默认方式开发
-
创建新模块,选择Spring Initializr,并配置模块相关基础信息
-
选择当前模块需要使用的技术集
-
编写我们的开发控制类
//Rest模式开发
@RestController
@RequestMapping("/books")
public class BookController {
@GetMapping
public String getById(){
System.out.println("springboot is running");
return "springboot is running";
}
}
- 运行自动生成的Application类
@SpringBootApplication
public class Springboot0101QuickstartApplication {
public static void main(String[] args) {
//其实这句就是创建一个Bean容器
SpringApplication.run(Springboot0101QuickstartApplication.class, args);
/*ConfigurableApplicationContext context = SpringApplication.run(Springboot0102QuickstartApplication.class, args);
TestController bean = context.getBean(TestController.class);
System.out.println(bean);*/
}
}
接下来我们看控制台输出
OK,通过springboot快速构建项目我们可以感觉到,相比spring开发简洁方便了许多,我们将两者对比一下。
接下来我们演示另外两种方法进行开发。
2.2 基于SpringBoot官网创建项目
springboot的官网
进入官网,我们就可以在上面建立我们的项目,建立完成后我们点击下方的GENERATE按钮,生成压缩文件,通过解压然后导入我们的idea中。
2.3 基于阿里云创建项目
https://start.aliyun.com/
以上就是创建springboot项目的三种常用方法。
2.4 隐藏指定文件夹
我们新建的项目中会生成很多我们不需要的文件夹,看着很占地方,因此,我们可以将这些不常用的文件夹进行隐藏,以后我们建立新项目时就不会再加载这些文件夹
方法:
Setting → File Types → Ignored Files and Folders
输入想隐藏的文件夹名称,点击apply,ok。
3. springboot项目解析
3.1 Parent
- 开发每一个springboot项目都会继承spring-boot-starter-parent
<parent>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-parent</artifactId>
<version>2.6.6</version>
<relativePath/> <!-- lookup parent from repository -->
</parent>
-
spring-boot-starter-parent中定义了若干个依赖管理
最后,我们就可以直接使用它们的组合
-
继承parent模块可以避免多个依赖使用相同技术时出现依赖版本冲突
每一个版本的parent模块的版本坐标都是不尽相同,因此使用同一个版本的parent模块可以避免依赖版本冲突 -
继承parent的形式也可以采用引入依赖的形式实现效果
3.2 Starter
SpringBoot中常见项目名称,定义了当前项目使用的所有依赖坐标,以达到减少依赖配置的目的。
-
开发SpringBoot程序需要导入坐标时通常导入对应的starter
-
每个不同的starter根据功能不同,通常包含多个依赖坐标
我们可以点进spring-boot-starter-web看一下
可以看出,里面包含了多个依赖坐标 -
使用starter可以实现快速配置的效果,达到简化配置的目的
Parent和Starter都是用来解决配置问题
3.3 引导类
- SpringBoot的引导类是Boot工程的执行入口,运行main方法就可以启动项目
- SpringBoot工程运行后初始化Spring容器,扫描引导类所在包加载bean
@SpringBootApplication
public class Springboot0101QuickstartApplication {
public static void main(String[] args) {
//其实这句就是创建一个Bean容器
SpringApplication.run(Springboot0101QuickstartApplication.class, args);
/*ConfigurableApplicationContext context = SpringApplication.run(Springboot0102QuickstartApplication.class, args);
TestController bean = context.getBean(TestController.class);
System.out.println(bean);*/
}
}
3.4 内嵌tomcat
- 内嵌Tomcat服务器是SpringBoot辅助功能之一
- 内嵌Tomcat工作原理是将Tomcat服务器作为对象运行,并将该对象交给Spring容器管理
- 变更内嵌服务器思想是去除现有服务器,添加全新的服务器