1. 依赖管理
SpringBoot使用父项目来进行依赖管理 , Maven的父项目通常用来进行依赖管理,只要父项目声明了依赖,子项目引入dependency时,就不用声明版本号了。
这里,我们的项目的父项目如下,这里的父项目几乎声明了所有开发中需要的jar包的版本 :
helloword项目的父项目 :
<parent>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-parent</artifactId>
<version>2.7.5</version>
</parent>
父项目的父项目 :
<parent>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-dependencies</artifactId>
<version>2.7.5</version>
</parent>
如果,我们想更改依赖包的版本,可以在本项目的pom.xml中,声明properties标签,更改这个父项目的值。例如,我在自己的项目中改变了mysql-connector的版本。
<properties>
<project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
<mysql.version>5.1.43</mysql.version> 这里一定要到父项目里去找那个属性名称
</properties>
<dependency>
<groupId>mysql</groupId>
<artifactId>mysql-connector-java</artifactId>
</dependency>
2. Starters
Starters是进行依赖包管理的工具,选择一个Starters自动获得依赖包,例如helloworld项目引入了spring-boot-starter-web 。
spring-boot-starter-* 中的*都代表一个场景 ;
引入了这个场景,就代表自动引入了这个场景需要的所有依赖jar包。
spring官方提供的starter,都是以spring-boot-starter开头的,也可以自定义starter 。
第三方的starter 是以这个开头: thirdpartyproject-spring-boot-starter
3.自动配置 :
3.1 自动配置Tomcat
starter-web里配置了Tomcat的依赖包 ;
自动配置Tomcat 。
3.2 自动配置SpringMVC
starter-web里配置了SpringMVC的依赖包 ;
自动配置SpringMVC。
3.3 默认的包结构 :
主程序所在包及其子包所有的组件(例如Controller)都会被扫描进来 ;
无需再做以前的包配置 。
3.4 配置默认值:
springboot给各种配置都给了默认值,默认值都映射到MultipartProperties类上的。
配置文件的值都会绑定到某个类上,这个类会在容器中初始化。
网友评论