SpringBoot-起步依赖与自动装配原理

简化开发,约定大于配置,开箱即用,提供了各种默认配置来简化项目

1. 起步依赖分析

在起步依赖上,SpringBoot 帮我们管理了各个依赖的版本,使各个依赖不会出现版本冲突;另外,Spring Boot还帮我们打包了各个依赖让不用再像之前使用Spring那样导入一堆的依赖,只要引入起步依赖的坐标就可以进行web开发了,同样体现了依赖传递的用。

pom.xml 配置文件

  • spring-boot-dependencies: 核心依赖在父工程 spring-boot-starter-parent 中,部分坐标的版本、依赖管理、插件管理已经定义好
<parent>
    <groupId>org.springframework.boot</groupId>
    <artifactId>spring-boot-starter-parent</artifactId>
    <version>2.3.5.RELEASE</version>
    <relativePath/> <!-- lookup parent from repository -->
</parent>
  • 在spring-boot-dependencies pom文件中,可以看到该文件管理了所有依赖的版本号,解决了我们原有项目中可能存在依赖版本冲突的问题,它来真正管理SpringBoot应用里面的所有依赖版本
<properties>
    <activemq.version>5.15.13</activemq.version>
    <antlr2.version>2.7.7</antlr2.version>
    <appengine-sdk.version>1.9.82</appengine-sdk.version>
    <artemis.version>2.12.0</artemis.version>
    <aspectj.version>1.9.6</aspectj.version>
    <assertj.version>3.16.1</assertj.version>
    <atomikos.version>4.0.6</atomikos.version>
    <awaitility.version>4.0.3</awaitility.version>
    <bitronix.version>2.1.4</bitronix.version>
    <build-helper-maven-plugin.version>3.1.0</build-helper-maven-plugin.version>
    ......
</properties> 

启动器

  • Spring Boot将所有的功能场景都变成了一个个启动器,使用什么功能,只需要导入相应的启动器依赖
<dependency>
     <groupId>org.springframework.boot</groupId>
     <artifactId>spring-boot-starter</artifactId>
</dependency> 
  • 比如引用的spring-boot-starter-web 自动导入了所有web依赖的环境
<dependencies>
	 <dependency>
	   <groupId>org.springframework.boot</groupId>
	   <artifactId>spring-boot-starter</artifactId>
	   <version>2.3.5.RELEASE</version>
	   <scope>compile</scope>
	 </dependency>
	 <dependency>
	   <groupId>org.springframework.boot</groupId>
	   <artifactId>spring-boot-starter-json</artifactId>
	   <version>2.3.5.RELEASE</version>
	   <scope>compile</scope>
	 </dependency>
	 <dependency>
	   <groupId>org.springframework.boot</groupId>
	   <artifactId>spring-boot-starter-tomcat</artifactId>
	   <version>2.3.5.RELEASE</version>
	   <scope>compile</scope>
	 </dependency>
	 <dependency>
	   <groupId>org.springframework</groupId>
	   <artifactId>spring-web</artifactId>
	   <version>5.2.10.RELEASE</version>
	   <scope>compile</scope>
	 </dependency>
	 <dependency>
	   <groupId>org.springframework</groupId>
	   <artifactId>spring-webmvc</artifactId>
	   <version
  • 1
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值