1、SpringBoot特点
1.1、依赖管理
-
父项目做依赖管理
依赖管理 <!--SpringBoot父工程--> <parent> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-parent</artifactId> <version>2.7.4</version> </parent> <modelVersion>4.0.0</modelVersion> <!--父工程的父项目--> <parent> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-dependencies</artifactId> <version>2.7.4</version> </parent> 几乎声明了开发中所有常用的依赖的版本号,自动仲裁机制
-
导入starter开发场景启动器
1、Starters是当前开发环境所需要的包含一组依赖项的单个依赖。 2、只要引入starter,这个开发场景所需要的所有常规依赖都会自动导入 3、SpringBoot所有支持的场景 https://docs.spring.io/spring-boot/docs/current/reference/html/using.html#using.build-systems.starters 4、*-spring-boot-starter:第三方提供的开发场景启动器 5、所有开发场景启动器最底层的依赖 <dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter</artifactId> <version>2.7.4</version> <scope>compile</scope> </dependency>
-
无需关注版本号,自动版本仲裁
1、引入依赖默认都可以不用写版本(前提是父工程依赖中有) 2、父工程依赖中没有想要的版本号,需要手动配置版本号 <properties> <mysql.version>5.1.47</mysql.version> </properties> 或: <dependency> <groupId>mysql</groupId> <artifactId>mysql-connector-java</artifactId> <version>5.1.47</version> </dependency>
-
可以修改版本号
1、查看spring-boot-dependencies里面使用的当前依赖的版本 2、在当前项目里重写版本号(就近优先、否则使用父工程依赖默认的版本号) <properties> <mysql.version>5.1.47</mysql.version> </properties>
1.2、自动配置
-
自动配好Tomcat
-
引入Tomcat依赖
-
配置Tomcat
<!--在spring-boot-starter-web包内--> <dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-tomcat</artifactId> <version>2.7.4</version> <scope>compile</scope> </dependency>
-
-
自动配好SpringMVC
-
引入SpringMVC全套组件
-
自动配好SpringMVC常用组件
<dependency> <groupId>org.springframework</groupId> <artifactId>spring-webmvc</artifactId> <version>5.3.23</version> <scope>compile</scope> </dependency>
-
-
自动配好Web常见功能,如:字符编码问题
- SpringBoot帮我们配置好了所有web开发的常见场景
-
默认的包结构
-
主程序所在包及其下面的所有子包里面的组件都会被默认扫面进来,无需以前的包扫描配置
-
组件与主程序在同一级目录下
-
组件与主程序不在同一级目录下
-
想要改变包扫描路径,可以在@SpringBootApplication上添加scanBasePages属性指定扫描路径
-
也可以使用@SpringBootConfiguration、@EnableAutoConfiguration、@ComponentScan(“com.atguigu”)这三个注解,这三个相当于@SpringBootApplication
- 各种配置拥有默认值 -
默认配置都会映射到一个类上,配置文件的值最终会绑定到该类上,容器负责创建该类的对象
-
-
按需加载所有自动配置项
- 非常多的starter
- 引入了哪些开发场景的starter,这个场景的自动配置才会开启
- SpringBoot所有的自动配置都在spring-boot-autoconfigure包里面