SpringBoot
大约 1 分钟
SpringBoot
介绍
- 搭建程序的脚手架
- 快速构建Spring项目
- 提供了一种快速使用Spring的方式
- 预组装了Spring 及其他流行框架 的一系列组件
- 无序关注版本号,自动版本仲裁
- 也可更改指定版本号
- 无序关注版本号,自动版本仲裁
- 提供starter 简化Maven 配置,提供了丰富的starter组件,快速集成组件功能接入
- 自动配置, 自动扫描
- 内嵌tomcat、undertow等,并可配置参数
Spring Boot和Spring的关系就是整车和零部件的关系
- 它们不是取代关系,试图跳过Spring直接学习Spring Boot是不可能的。
版本
启动
- 启动SpringBoot应用
- application.yml,yml 层级格式
- @SpringBootApplication : 自动配置和自动扫描
- @SpringBootConfiguration
- @Configuration
- @EnableAutoConfiguration
- @AutoConfigurationPackage
- @ComponentScan
- @SpringBootConfiguration
- Spring Boot自动启动了嵌入式Tomcat
- AutoConfiguration:自动
- spring-boot-starter-jdbc: 引入时 自动扫描所有的XxxAutoConfiguration
- DataSourceAutoConfiguration
- DataSourceTransactionManagerAutoConfiguration
- JdbcTemplateAutoConfiguration
- ......
- spring-boot-starter-jdbc: 引入时 自动扫描所有的XxxAutoConfiguration
- Spring Boot大量使用XxxAutoConfiguration来使得许多组件被自动化配置并创建,而这些创建过程又大量使用了Spring的Conditional功能
- @ConditionalOnClass:在classpath中能找到DataSource和JdbcTemplate;
- @ConditionalOnSingleCandidate(DataSource.class):在当前Bean的定义中能找到唯一的DataSource;
- Spring Boot自动装配功能是通过自动扫描+条件装配实现的