Spring Boot | 1.5 pom源码分析

Spring Boot目录汇总地址:
https://blog.csdn.net/mengmengdastyle/article/details/80357203
一、pom父工程
(1)每个Spring Boot工程中,都需要继承一个父类。

<parent>
    <groupId>org.springframework.bootgroupId>
    <artifactId>spring-boot-starter-parentartifactId>
    <version>2.0.2.RELEASEversion>
parent>

(2)点击可以看到它的父项目的关系:

<parent>
    <groupId>org.springframework.bootgroupId>
    <artifactId>spring-boot-starter-parentartifactId>
    <version>2.0.2.RELEASEversion>
parent>

他的父项目是
<parent>
    <groupId>org.springframework.bootgroupId>
    <artifactId>spring-boot-dependenciesartifactId>
    <version>2.0.2.RELEASEversion>
    <relativePath>../../spring-boot-dependenciesrelativePath>
parent>

关系图为:Spring Boot | 1.5 pom源码分析_第1张图片
二、spring-boot-dependencies项目
(1)在spring-boot-dependencies里面可以看到应用的所有依赖及版本:
以后我们导入依赖默认是不需要写版本;


    .version>5.15.3.version>
    .version>2.7.7.version>
    .version>1.9.63.version>
    .version>2.4.0.version>
    .version>1.8.13.version>
    .version>3.9.1.version>
    .version>4.0.6.version>
    .version>2.1.4.version>
    .version>3.0.0.version>
    .version>1.7.11.version>
    .version>2.6.2.version>
    .version>3.4.0.version>
    .version>1.3.4.version>
    .version>1.11.version>
    .version>2.2.0.version>
    .version>3.7.version>
    .version>1.6.version>
    .version>2.5.0.version>
    .version>2.1.0.version>
    .version>2.5.8.version>
    .version>10.14.1.0.version>
    .version>1.6.1.version>
    .version>3.2.6.version>
    .version>2.10.4.version>
    .version>3.5.2.version>
    .version>5.6.9.version>
    .version>2.0.3.version>
    .version>1.5.0.version>
    .version>1.0.0.version>
    .version>5.0.7.version>
    .version>2.3.28.version>
    .version>2.2.3.version>
    .version>3.0.0.version>
    .version>2.4.15.version>
    .version>2.8.4.version>
    .version>1.4.197.version>
    .version>1.3.version>
    .version>3.9.4.version>
    .version>1.2.3.version>
    .version>5.2.17.Final.version>
    .version>6.0.9.Final.version>
    .version>2.7.9.version>
    .version>2.4.0.version>
    .version>2.29.version>
    .version>4.1.3.version>
    .version>4.5.5.version>
    .version>4.4.9.version>
    .version>9.1.7.Final.version>
    .version>2.9.version>
    .version>2.9.5.version>
    .version>3.0.8.version>
    .version>1.3.2.version>
    .version>1.1.0.version>
    .version>2.3.0.version>
    .version>2.0.1.version>
    .version>1.1.2.version>
    .version>1.0.version>
    .version>1.6.1.version>
    .version>1.0.3.version>
    .version>1.2.version>
    .version>2.0.1.Final.version>
    .version>1.1.6.version>
    .version>3.0.4.version>
    .version>3.3.2.Final.version>
    .version>7.6.0.Final.version>
    .version>2.0.6.version>
    .version>2.9.0.version>
    .version>2.26.version>
    .version>5.3.3.version>
    .version>9.4.10.v20180503.version>
    .version>8.5.24.2.version>
    .version>2.2.0.v201112011158.version>
    .version>1.14.version>
    .version>4.5.1.version>
    .version>2.9.9.version>
    .version>1.1.7.version>
    .version>1.5.0.version>
    .version>3.10.7.version>
    .version>1.5.0.version>
    .version>2.4.0.version>
    .version>1.2.version>
    .version>1.3.1.version>
    .version>4.12.version>
    .version>5.1.1.version>
    .version>1.1.0.version>
    .version>1.0.1.version>
    .version>1.2.41.version>
    .version>5.0.4.RELEASE.version>
    .version>3.5.5.version>
    .version>2.10.0.version>
    .version>1.2.3.version>
    .version>1.16.20.version>
    .version>2.2.3.version>
    .version>1.8.version>
    .version>3.1.0.version>
    .version>3.0.0.version>
    .version>3.7.0.version>
    .version>3.0.2.version>
    .version>2.8.2.version>
    .version>2.10.version>
    .version>3.0.0-M1.version>
    .version>2.21.0.version>
    .version>2.2.version>
    .version>2.5.2.version>
    .version>3.0.0.version>
    .version>3.0.2.version>
    .version>3.0.0.version>
    .version>3.0.1.version>
    .version>2.4.3.version>
    .version>3.6.version>
    .version>3.0.1.version>
    .version>2.21.0.version>
    .version>3.1.0.version>
    .version>1.0.4.version>
    .version>2.15.0.version>
    .version>3.6.3.version>
    .version>1.7.1.version>
    .version>6.2.2.jre8.version>
    .version>5.1.46.version>
    .version>5.8.1.Final.version>
    .version>1.9.22.version>
    .version>3.1.0.version>
    .version>4.1.24.Final.version>
    .version>1.1.0.version>
    .version>42.2.2.version>
    .version>2.3.0.version>
    .version>4.1.4.version>
    .version>5.1.2.version>
    .version>1.0.2.version>
    .version>Bismuth-SR9.version>
    .version>3.0.7.version>
    .version>1.3.8.version>
    .version>2.1.13.version>
    .version>1.2.1.version>
    .version>3.9.1.version>
    .version>2.29.3.version>
    .version>4.1.2.version>
    .version>3.1.0.version>
    .version>1.1.1.version>
    .version>1.7.25.version>
    .version>1.19.version>
    .version>6.6.3.version>
    .version>5.0.6.RELEASE.version>
    .version>2.0.3.RELEASE.version>
    .version>4.0.1.RELEASE.version>
    .version>2.0.1.RELEASE.version>
    .version>Kay-SR7.version>
    .version>0.24.0.RELEASE.version>
    .version>5.0.5.RELEASE.version>
    .version>2.1.6.RELEASE.version>
    .version>2.3.2.RELEASE.version>
    .version>1.2.0.RELEASE.version>
    .version>2.0.1.RELEASE.version>
    .version>1.2.2.RELEASE.version>
    .version>5.0.5.RELEASE.version>
    .version>Apple-SR2.version>
    .version>3.0.1.RELEASE.version>
    .version>3.21.0.1.version>
    .version>3.1.0.version>
    .version>1.6.1.version>
    .version>3.0.9.RELEASE.version>
    .version>2.0.1.version>
    .version>3.0.1.RELEASE.version>
    .version>3.0.2.RELEASE.version>
    .version>2.3.0.version>
    .version>8.5.31.version>
    .version>4.0.5.version>
    .version>1.4.25.Final.version>
    .version>2.3.version>
    .version>3325375.version>
    .version>0.35.version>
    .version>1.6.3.version>
    .version>1.4.01.version>
    .version>1.0.1.version>
    .version>2.5.1.version>

(2)启动器
Spring Boot将所有的功能场景都抽取出来,做成一个个的starter(启动器),只需要在项目里面引入这些starter相关场景的所有依赖都会导入进来。。

Spring Boot推荐基础POM文件

名称 说明
spring-boot-starter 核心 POM,包含自动配置支持、日志库和对 YAML 配置文件的支持。
spring-boot-starter-amqp 通过 spring-rabbit 支持 AMQP。
spring-boot-starter-aop 包含 spring-aop 和 AspectJ 来支持面向切面编程(AOP)。
spring-boot-starter-batch 支持 Spring Batch,包含 HSQLDB。
spring-boot-starter-data-jpa 包含 spring-data-jpa、spring-orm 和 Hibernate 来支持 JPA。
spring-boot-starter-data-mongodb 包含 spring-data-mongodb 来支持 MongoDB。
spring-boot-starter-data-rest 通过 spring-data-rest-webmvc 支持以 REST 方式暴露 Spring Data 仓库。
spring-boot-starter-jdbc 支持使用 JDBC 访问数据库。
spring-boot-starter-security 包含 spring-security。
spring-boot-starter-test 包含常用的测试所需的依赖,如 JUnit、Hamcrest、Mockito 和 spring-test 等。
spring-boot-starter-velocity 支持使用 Velocity 作为模板引擎。
spring-boot-starter-web 支持 Web 应用开发,包含 Tomcat 和 spring-mvc。
spring-boot-starter-websocket 支持使用 Tomcat 开发 WebSocket 应用。
spring-boot-starter-ws 支持 Spring Web Services。
spring-boot-starter-actuator 添加适用于生产环境的功能,如性能指标和监测等功能。
spring-boot-starter-remote-shell 添加远程 SSH 支持。
spring-boot-starter-jetty 使用 Jetty 而不是默认的 Tomcat 作为应用服务器。
spring-boot-starter-log4j 添加 Log4j 的支持。
spring-boot-starter-logging 使用 Spring Boot 默认的日志框架 Logback。
spring-boot-starter-tomcat 使用 Spring Boot 默认的 Tomcat 作为应用服务器。

三、spring-boot-starter-parent
在parent项目中有一些基本的设置


    .reporting.outputEncoding>UTF-8.reporting.outputEncoding>
    .version>1.8.version>
    .delimiter>@.delimiter>
    .compiler.source>${java.version}.compiler.source>
    .build.sourceEncoding>UTF-8.build.sourceEncoding>
    .compiler.target>${java.version}.compiler.target>

你可能感兴趣的:(java,SpringBoot,架构,SpringBoot,架构,java)