SpringBoot起步依賴

Starters

Starters是一組方便的依賴描述符,您可以在應用程序中包含這些描述符。您可以獲得所需的所有Spring和相關技術的一站式服務,而無需搜索示例代碼和複製粘貼依賴描述符的負載。例如,如果要開始使用Spring和JPA進行數據庫訪問,請在項目中包含spring-boot-starter-data-jpa依賴項。
starters減少了我們開發時需要搜索依賴哪些包的時間。springboot提供了很多starters。

  • spring-boot-starter:核心啓動器,包括自動配置支持,日誌記錄和YAML
  • spring-boot-starter-aop:使用Spring AOP和AspectJ進行面向方面編程的入門者
  • spring-boot-starter-data-jdbc:使用Spring數據JDBC的入門者
  • spring-boot-starter-web:使用Spring MVC構建Web(包括RESTful)應用程序的入門者。使用Tomcat作爲默認嵌入式容器

看一下web-starter

maven的parent標籤:爲了抽取統一的配置信息和依賴版本控制,方便子POM直接引用,簡化子POM的配置。
spring-boot-starter-web,可以看到這裏定義了具體的依賴。

<project xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd" xmlns="http://maven.apache.org/POM/4.0.0"
    xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
  <modelVersion>4.0.0</modelVersion>
  <parent>
    <groupId>org.springframework.boot</groupId>
    <artifactId>spring-boot-starters</artifactId>
    <version>2.1.3.RELEASE</version>
  </parent>
  <groupId>org.springframework.boot</groupId>
  <artifactId>spring-boot-starter-web</artifactId>
  <version>2.1.3.RELEASE</version>
  <name>Spring Boot Web Starter</name>
  <!-- 刪掉了一些 -->
  <dependencies>
    <dependency>
      <groupId>org.springframework.boot</groupId>
      <artifactId>spring-boot-starter</artifactId>
      <version>2.1.3.RELEASE</version>
      <scope>compile</scope>
    </dependency>
    <dependency>
      <groupId>org.springframework.boot</groupId>
      <artifactId>spring-boot-starter-json</artifactId>
      <version>2.1.3.RELEASE</version>
      <scope>compile</scope>
    </dependency>
    <dependency>
      <groupId>org.springframework.boot</groupId>
      <artifactId>spring-boot-starter-tomcat</artifactId>
      <version>2.1.3.RELEASE</version>
      <scope>compile</scope>
    </dependency>
   	<!-- 省略 -->
  </dependencies>
</project>

進入spring-boot-starters

<parent>
    <groupId>org.springframework.boot</groupId>
    <artifactId>spring-boot-parent</artifactId>
    <version>2.1.3.RELEASE</version>
    <relativePath>../spring-boot-parent</relativePath>
  </parent>
  <groupId>org.springframework.boot</groupId>
  <artifactId>spring-boot-starters</artifactId>
  <version>2.1.3.RELEASE</version>
  <packaging>pom</packaging>

packaging用於定義maven的打包方式,packaging默認類型爲jar,如果需要繼承或者聚合需要將packaging設置爲pom。
spring-boot-starters的父項目也沒啥看的。

<parent>
    <groupId>org.springframework.boot</groupId>
    <artifactId>spring-boot-dependencies</artifactId>
    <version>2.1.3.RELEASE</version>
    <relativePath>../spring-boot-dependencies</relativePath>
  </parent>
  <groupId>org.springframework.boot</groupId>
  <artifactId>spring-boot-parent</artifactId>
  <version>2.1.3.RELEASE</version>
  <packaging>pom</packaging>

繼續到spring-boot-dependencies裏看,這裏使用了dependencyManagement來管理各個包的需要用到的版本。
在這裏插入圖片描述

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章