专栏首页软件开发-青出于蓝SpringBoot之依赖分析 原

SpringBoot之依赖分析 原

注:SpringBoot的版本是1.4.8。

                                                   图1 SpringBoot的模块继承图

    图1的原图在Github上。

                                                  图2 SpringBoot-1.4.8源码目录结构

  • spring-boot-dependencies中无Java代码,它的dependencyManagement中定义了很多依赖,并指定了版本。
  • spring-boot-starter-parent中无Java代码,它的dependencyManagement中,spring-core依赖排除commons-logging依赖,如下所示:
<dependencyManagement>
	<dependencies>
		<dependency>
			<groupId>org.springframework</groupId>
			<artifactId>spring-core</artifactId>
			<version>${spring.version}</version>
			<exclusions>
				<exclusion>
					<groupId>commons-logging</groupId>
					<artifactId>commons-logging</artifactId>
				</exclusion>
			</exclusions>
		</dependency>
	</dependencies>
</dependencyManagement>
  • spring-boot-parent中无Java代码,它的dependencyManagement中新增了一些依赖。
  • spring-boot中,是启动应用的源码。
  • spring-boot-starters是个pom,包含了很多子module。
  • spring-boot-starter中无Java代码,但它的dependencies添加了一些依赖,代码如下:
<dependencies>
	<dependency>
		<groupId>org.springframework.boot</groupId>
		<artifactId>spring-boot</artifactId>
	</dependency>
	<dependency>
		<groupId>org.springframework.boot</groupId>
		<artifactId>spring-boot-autoconfigure</artifactId>
	</dependency>
	<dependency>
		<groupId>org.springframework.boot</groupId>
		<artifactId>spring-boot-starter-logging</artifactId>
	</dependency>
	<dependency>
		<groupId>org.springframework</groupId>
		<artifactId>spring-core</artifactId>
		<exclusions>
			<exclusion>
				<groupId>commons-logging</groupId>
				<artifactId>commons-logging</artifactId>
			</exclusion>
		</exclusions>
	</dependency>
	<dependency>
		<groupId>org.yaml</groupId>
		<artifactId>snakeyaml</artifactId>
		<scope>runtime</scope>
	</dependency>
</dependencies>

Reference:

1. SpringBoot-1.4.8的Github: https://github.com/spring-projects/spring-boot/tree/1.4.x

(adsbygoogle = window.adsbygoogle || []).push({});

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

我来说两句

0 条评论
登录 后参与评论

相关文章

  • 简单实用log4j实现日志打印到控制台 原

    之后在maven项目的main下面的resources下新建一个名为log4j.properties的文件,里面的内容如下所示:

    克虏伯
  • Linux之shell记录 原

        vim分为普通模式和插入模式,在普通模式下按下i就进入插入模式,在插入模式下按下ESC就回到普通模式。

    克虏伯
  • Go的Hello world 原

    挺简单的,是在windows7 64bit 上用sublime text3开发的,之前也用过eclipse来写go,但是感觉提示方面没有sublime做得好!

    克虏伯
  • Spring Boot2.0 整合mybatis、分页插件、druid

    本文主要是针对SpringBoot2.0.2版本,实现整合mybatis、分页插件、druid等组件,实现完整的web服务,提供restful风格接口。

    kinbug [进阶者]
  • springboot(8)-热部署

    spring为开发者提供了一个名为spring-boot-devtools的模块来使Spring Boot应用支持热部署,提高开发者的开发效率,无需手动...

    Typhoon
  • SpringBootAdmin2.0实现微服务应用监控

    Spring Boot Admin Server 可以监控的功能很多,使用起来没有难度,下面描述下可以监测的部分内容:

    黎明大大
  • 一键帮你生成所需代码--EasyCode试试这个工具吧

    EasyCode[1] 是基于 IntelliJ IDEA Ultimate 版开发的一个代码生成插件,主要通过自定义模板(基于 velocity)来生成各种你...

    用户2781897
  • 一文读懂Spring Boot各模块组件依赖关系

    spring boot 作为一款开箱即用的框架,在市场上有很高的流行度。但内部依赖错踪复杂,每个模块都有自己专属职责,同时又可以做为其他模块的补充,具有很强的扩...

    用户7676729
  • SpringBoot整合Mybatis与EasyCode(快速开发神器)

    若是不添加此注解须在每个持久层类添加@Mapper注解 @MapperScan(basePackages = "com.example.easycode03.d...

    崔笑颜
  • 盘点Spring Boot Starter的主力,看看哪几个是你没用过的

    Spring Boot是由Pivotal团队提供的全新框架,其设计目的是用来简化新Spring应用的初始搭建以及开发过程。该框架使用了特定的方式来进行配置,从而...

    南风

扫码关注云+社区

领取腾讯云代金券