三SpringBoot2核心技术——SpringBoot特点
Posted 上善若水
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了三SpringBoot2核心技术——SpringBoot特点相关的知识,希望对你有一定的参考价值。
一、SpringBoot特点
1.1、依赖管理
- 父项目做依赖管理
<!-- 依赖管理 -->
<parent>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-parent</artifactId>
<version>2.5.0</version>
</parent>
<!-- 它的父项目 -->
<parent>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-dependencies</artifactId>
<version>2.5.0</version>
</parent>
<!-- 几乎声明了所有开发中常用的依赖的版本号,自动版本仲裁机制 -->
- 开发导入starter场景启动器
-
见到很多 spring-boot-starter-*;
-
只要引入starter,这个场景的所有常规需要的依赖我们都自动导入
-
SpringBoot所有支持的场景
-
见到的 *-spring-boot-starter:第三方为我们提供的简化开发的场景启动器。
-
所有场景启动器最底层的依赖
-
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter</artifactId>
<version>2.5.0</version>
<scope>compile</scope>
</dependency>
- 无需关注版本号、自动版本仲裁
- 引入依赖默认都可以不写版本
- 引入非版本仲裁的jar,要写版本号
- 可以修改默认版本号
- 查看spring-boot-dependencies里面规定当前依赖的版本,用的key。
- 在当前项目里面重写配置
<properties>
<mysql.version>5.1.43</mysql.version>
</properties>
1.2、自动配置
-
自动配好 Tomcat
- 引入Tomcat依赖
- 配置Tomcat
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-tomcat</artifactId>
<version>2.5.0</version>
<scope>compile</scope>
</dependency>
-
自动配好SpringMVC
- 引入SpringMVC全套组件
- 自动配好SpringMVC常用组件(功能)
-
自动配好web常见功能,如:字符编码问题
- SpringBoot帮我们配置好了所有web开发的常见场景
-
- 主程序所在包及其下面的所有子包里面的组件都会被默认扫描进来。
- 无需以前的包扫描配置
- 想要改变扫描路径。@SpringBootApplication(scanBasePackages = “com.xbmu”) 或者 @ComponentScan指定扫描路径。
@SpringBootApplication 等同于 @SpringBootConfiguration @EnableAutoConfiguration @ComponentScan("com.xbmu")
-
各种配置拥有默认值
- 默认配置最终都是映射到某个类上,如:MultipartProperties
- 配置文件的值最终会绑定每个类上,这个类会在容器中创建对象
-
按需加载所有自动配置项
- 非常多的starter
- 引入了哪些场景这个场景的自动配置才会开启
- SpringBoot所有的自动配置功能都在 spring-boot-autoconfigure 包里面
package com.xbmu;
import org.springframework.boot.SpringApplication;
import org.springframework.boot.autoconfigure.SpringBootApplication;
import org.springframework.context.ConfigurableApplicationContext;
/**
* 主程序类
* @SpringBootApplication : 这是一个SpringBoot应用
*/
@SpringBootApplication
public class MainApplication {
public static void main(String[] args) {
// 1.返回IOC容器
ConfigurableApplicationContext run = SpringApplication.run(MainApplication.class, args);
// 2.查看容器里面的组件
String[] names = run.getBeanDefinitionNames();
for (String name : names) {
System.out.println(name);
}
}
}
以上是关于三SpringBoot2核心技术——SpringBoot特点的主要内容,如果未能解决你的问题,请参考以下文章
SpringBoot2核心技术(基础入门)- 02SpringBoot2入门安装配置
二SpringBoot2核心技术——SpringBoot入门
二SpringBoot2核心技术——SpringBoot入门