1 起步依赖
1.1 starter场景启动器
在依赖导入这一方面,SpringBoot区别于Spring的就是,Spring在pom.xml文件中手动导入所有的依赖包括版本号,而SpringBoot只需要在项目的pom.xml文件中导入spring-boot-starter-web即可将编写一个web应用所需要的所有的jar包自动加载完成,且使用默认的版本号避免不同技术的各个版本之间出现相互冲突问题。
<dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-web</artifactId> </dependency>
1.2 父项目作依赖管理
每一个SpringBoot项目中都会继承自一个父项目,父项目中会定义好所有的依赖以及版本号,子项目继承父项目之后再导入依赖就可以不用去声明版本号。
以入门案例为例,该案例项目继承自如下父项目
<parent> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-parent</artifactId> <version>2.3.4.RELEASE</version> </parent>
这个父项目项目又继承自另一个父项目,在这个父项目中几乎定义了所有可能会用的到的依赖,并对所有的进行了版本仲裁,如果想要修改某个依赖版本的话就在pom.xml文件中使用properties标签对版本号进行再次定义,因为maven依赖版本号采取的是就近原则。
2 自动配置
2.1 自动配置Tomcat服务器
在前面的starter场景启动器中,底层已经导入了Tomcat的依赖,并对Tomcat服务器进行了配置。
2.2 自动配置web开发场景、SpringMVC组件
starter场景启动器的底层也导入了web和SpringMVC需要的依赖,并对常用的组件进行了配置。
具体组件(编码过滤器、前端控制器dispatcherservlet……)的查看可以借助IOC容器的相关API进行获取