02 SpringBoot入门程序剖析之各种稀奇古怪的starter

入门程序配置解析

大家在查看的时候可以通过目录跳转,配置文件我全给复制过来了,后来卡的不行,删了很多,大家重点知道方法就行,你电脑上的和我的没有区别,等往后多学点再回头看就知道啥子意思了;别看眼花了。哈哈哈

1、pom.xml中的配置

通过入门程序可以看出来,使用springboot之后我们没有写applicationContext.xml这个复杂的配置文件,也没有导入几十个jar包的操作,这些操作为什么不见了呢,主要就是下面这段配置起的作用。

    <!-- 复制过来的-->
    <parent>
        <groupId>org.springframework.boot</groupId>
        <artifactId>spring-boot-starter-parent</artifactId>
        <version>2.2.2.RELEASE</version>
        <relativePath/> <!-- lookup parent from repository -->
    </parent>

2、一探究竟这个东西到底是啥

安装control键,鼠标放置在这段配置上点击进去会打开spring-boot-starter-parent-2.2.2.RELEASE.pom文件,内容如下,内容相当长,但是只用看第三行的parent,中间有一个spring-boot-dependencies项目,继续点进去。

   <?xml version="1.0" encoding="utf-8"?><project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
  <modelVersion>4.0.0</modelVersion>
  <parent>
    <groupId>org.springframework.boot</groupId>
    <artifactId>spring-boot-dependencies</artifactId>
    <version>2.2.2.RELEASE</version>
    <relativePath>../../spring-boot-dependencies</relativePath>
  </parent>
  <artifactId>spring-boot-starter-parent</artifactId>
  <packaging>pom</packaging>
  
              <groupId>org.springframework.boot</groupId>
              <artifactId>spring-boot-maven-plugin</artifactId>
              <version>2.2.2.RELEASE</version>
            </dependency>
          </dependencies>
          <configuration>
           
</project>

3、真正的依赖隐藏在这里

这个文件是超级长,3356行;大家往下翻一翻就会发现properties标签中定义了很多的版本信息;在dependencyManagement标签中定义了很多的maven依赖;这个标签标示子工程可以选择性的依赖儿不用填写版本信息;做到了父工程集中管理依赖的目的

<?xml version="1.0" encoding="utf-8"?><project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
  <modelVersion>4.0.0</modelVersion>
  <groupId>org.springframework.boot</groupId>
  <artifactId>spring-boot-dependencies</artifactId>
  <version>2.2.2.RELEASE</version>
  <packaging>pom</packaging>
  <name>Spring Boot Dependencies</name>
  <description>Spring Boot Dependencies</description>
  <url>https://projects.spring.io/spring-boot/#</url>
 
  <properties>
    <activemq.version>5.15.11</activemq.version>
    <antlr2.version>2.7.7</antlr2.version>
    <appengine-sdk.version>1.9.77</appengine-sdk.version>
    <artemis.version>2.10.1</artemis.version>
    <aspectj.version>1.9.5</aspectj.version>
  
  </properties>
  <dependencyManagement>
    <dependencies>
      <dependency>
        <groupId>org.springframework.boot</groupId>
        <artifactId>spring-boot</artifactId>
        <version>2.2.2.RELEASE</version>
      </dependency>
      <dependency>
        <groupId>org.springframework.boot</groupId>
        <artifactId>spring-boot-test</artifactId>
        <version>2.2.2.RELEASE</version>
      </dependency>
     

4、认识spring-boot-starter

大家应该有点印象吧,可以去自己编写的pom.xml文件中去看下,会发现spring-boot-starter这个玩意儿,它是几个意思?

spring-boot场景启动器,简单点说,帮助我们导包的;一般官方提供的包都是以它开头的。这也是springboot开发的方便之处,是一个高度封装。后面慢慢再啃。

5、刚认识的的starter

  • 打开pom文件,还记得这个不,按下control点进去
        <!-- springmvc相关jar包全部导入-->
        <dependency>
            <groupId>org.springframework.boot</groupId>
            <artifactId>spring-boot-starter-web</artifactId>
        </dependency>
  • 这个文件不长,大家需要认真看下
    发现1:发现它也有个爹,spring-boot-starters
    发现2:它依赖了几个starter还有spring-web、spring-webmvc,继续点进去这两个看,你也许就理解spring-boot-starter了。
<?xml version="1.0" encoding="UTF-8"?>
<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.2.2.RELEASE</version>
 </parent>
 <groupId>org.springframework.boot</groupId>
 <artifactId>spring-boot-starter-web</artifactId>
 <version>2.2.2.RELEASE</version>
 <name>Spring Boot Web Starter</name>
 <dependencies>
   <dependency>
     <groupId>org.springframework.boot</groupId>
     <artifactId>spring-boot-starter</artifactId>
     <version>2.2.2.RELEASE</version>
     <scope>compile</scope>
   </dependency>
   <dependency>
     <groupId>org.springframework.boot</groupId>
     <artifactId>spring-boot-starter-json</artifactId>
     <version>2.2.2.RELEASE</version>
     <scope>compile</scope>
   </dependency>
   <dependency>
     <groupId>org.springframework.boot</groupId>
     <artifactId>spring-boot-starter-tomcat</artifactId>
     <version>2.2.2.RELEASE</version>
     <scope>compile</scope>
   </dependency>
   <dependency>
     <groupId>org.springframework.boot</groupId>
     <artifactId>spring-boot-starter-validation</artifactId>
     <version>2.2.2.RELEASE</version>
     <scope>compile</scope>
     <exclusions>
       <exclusion>
         <artifactId>tomcat-embed-el</artifactId>
         <groupId>org.apache.tomcat.embed</groupId>
       </exclusion>
     </exclusions>
   </dependency>
   <dependency>
     <groupId>org.springframework</groupId>
     <artifactId>spring-web</artifactId>
     <version>5.2.2.RELEASE</version>
     <scope>compile</scope>
   </dependency>
   <dependency>
     <groupId>org.springframework</groupId>
     <artifactId>spring-webmvc</artifactId>
     <version>5.2.2.RELEASE</version>
     <scope>compile</scope>
   </dependency>
 </dependencies>
</project>

6、官方提供了哪些starter呢

  • 打开这个页面,找到你需要的版本,点击对应的reference doc
    在这里插入图片描述
  • 打开如下页面,选择截图中的最后一个,Using Spring Boot
    在这里插入图片描述
  • 左侧1.5点击进去
    在这里插入图片描述
  • 这就是官方提供的
    如果你想用其中一个,点击右侧的Pom超链接进入github,能看到这个starter是一个项目,复制它的3个坐标信息即可
    在这里插入图片描述

7、总结

starter就是把特定的功能场景封装成单独的功能模块,哪个项目需要就直接依赖一下就OK

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值