深入 Spring Boot 底层依赖架构分析之spring-boot-starter-parent

   你的项目pom.xml文件中,应该存在如下代码:

<parent>
        <groupId>org.springframework.boot</groupId>
        <artifactId>spring-boot-starter-parent</artifactId>
        <version>2.1.7.RELEASE</version>
    </parent>

那这段代码什么意思呢?

   这段代码是 Spring Boot 的父级依赖,这样当前的项目就是Spring Boot项目了。

   spring-boot-starter-parent 是一个特殊的 starter,它用来提供相关的Maven默认依赖。

   使用它之后,常用的包依赖可以省去 version 标签。这样就自动帮我们解决了版本兼容性问题。

当我们搭建web应用的时候,可以像下面这样添加 spring-boot-starter-web 依赖:

<dependencies>
        <dependency>
            <groupId>org.springframework.boot</groupId>
            <artifactId>spring-boot-starter-web</artifactId>
        </dependency>
    </dependencies>

  分析: spring-boot-starter-web

              spring-boot-starter: 它是 SpringBoot 的 场景启动器,它针对不同场景定义了很多不同的场景启动器。你的项目需要使用哪些场景启动器,则直接加入对应场景启动器的依赖就可以了。

              spring-boot-starter-web启动器用于构建web项目,它帮我们定义好了相关的依赖: 比如 SpringMVC、Tomcat等。

              如下图:

            

           Springboot多种启动器(springboot 官网截图:)

            

小总结:

      1 . spring-boot-starter-parent:是当前项目的父依赖

     2.  spring-boot-starter-parent 继承 spring-boot-dependencies

      3. spring-boot-dependencies里面定义了很多组件版本号,我们引用对应依赖时,不需要写<version>标签,

点击spring-boot-starter-parent 进入,结果如下图:

     

   点击进入 spring-boot-dependencies 结果如下图:里面定义了很多版本

   

     而对于如下代码,可以将当前项目打成一个jar包进行运行:

 <build>
        <plugins>
            <plugin>
                <groupId>org.springframework.boot</groupId>
                <artifactId>spring-boot-maven-plugin</artifactId>
            </plugin>
        </plugins>
    </build>

 

    那么何为依赖?

       比如你是个男的,你要生孩子,呸呸呸...男的怎么生孩子,所以你得依赖你老婆。我们在平时的项目开发中也是同理,你需   要依赖一些东西才能实现相应的功能,但相应的功能或许也可以依赖其它的东西实现,就比如此处的spring-boot-starter-parent 继承 spring-boot-dependencies。

    何为 starter?

        Spring Boot 中的starter 只不过是把我们某一模块,比如web 开发时所需要的所有JAR 包打包好给我们而已。不过它的厉害之处在于,能自动把配置文件搞好,不用我们手动配置。所以说,Spring Boot 是简化配置。

参考:https://www.jianshu.com/p/54cdfe4e0cac     https://blog.csdn.net/mottohlm/article/details/80727562

 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值