解决痛点
在微服务方面,用spring需要写大量的配置文件(每个微服务一个配置文件),非常繁琐。
由此spring推出springboot(boot:启动),spring快速启动,快速的创建一个独立的、生产级别的spring应用(springboot底层是spring),只需编写少量或者不写配置文件即可快速整合spring平台以及第三方技术
以spring framework为基础的一个快速构建spring工程的一个项目、框架。springboot可以快速集成第三方工程,快速搭建项目。
springboot目标:
- ssc
- 设置合理的默认值,可根据需求适当调整
- springboot内部嵌入一系列大型项目通用的非功能性程序(如嵌入式微服务tomcate…等,安全性,指标,运行检查等)
- 约定大于配置,基本不需要主动编写配置类,也不需要xml配置文件
总结:简化开发、简化配置、简化整合、简化部署、简化监控、简化运维。
快速上手
1. 在pom中继承父工程spring-boot-starter-parent,此工程又继承父工程spring-boot-dependencies,完成依赖的自动继承导入
<!-- 继承spring-book -->
<parent>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-parent</artifactId>
<version>3.0.5</version>
</parent>
2. starter启动器
2.1 简化spring应用程序的配置和构建过程,是一组预定义的依赖项集合。以便于在启动应用程序时自动引入所需要的库、配置和功能。
2.2 主要作用:
- 简化依赖管理 、自动配置
- 约定大于配置
- 快速启动和开发应用程序
- 模块化和可扩展性
2.3 spring boot提供的全部启动器地址:
2.4 starter命名规范
- 官方提供starter : spring-boot-starter-*
- 第三方/自定义starter:*-spring-boot-starter
2.5 如web启动器 spring-boot-starter-web :web工程的依赖。
web所需的依赖 spring-webmvc servlet jackson 自动引入。
<!-- 导入对应的启动器 -->
<dependencies>
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-web</artifactId>
<!-- <version>3.0.5</version> spring-book爷爷类(spring-boot-dependencies)中声明的版本信息 -->
</dependency>
</dependencies>
3. @SpringBootApplication注解
//1.配置类 @SpringBootConfiguration
//2.自动加载配置 @EnableAutoConfiguration
//3.包扫描,默认当前类所在的包和其子包 @ComponentScan
@SpringBootApplication //启动类
public class Main {
public static void main(String[] args) {
//1.自动创建ioc容器 2.启动内置web服务器
SpringApplication.run(Main.class,args);
}
}