SpringBoot简介

parent

简介

在做一个项目时,往往需要用到很多框架,而这些框架又有很多版本,那么不同框架版本之间可能并不兼容,导致需要挨个配置,一旦更改其中一个,可能会连带更改许多配置,导致很多麻烦

而SpringBoot就做出了整理,其将很多框架版本之间的最佳搭配整理出来

这个搭配就是parent,parent本身也有很多版本,每个版本之间都对搭配进行了调整

因此只需要引入对应版本的parent,之后导入依赖的时候就可以不用手动调整版本

注:parent仅仅只提供了版本的搭配,并没有真正导入对应的依赖,依赖仍需要自己导入,只是不需要设置版本

功能:parent是定义了几百个依赖版本号,以前写依赖需要自己手工控制版本,现在由SpringBoot统一管理,这样就不存在版本冲突了,是用来减少依赖冲突的

实现方式

SpringBoot官网提供的工程中,在pom.xml中继承了一个坐标,打开后发现其又继承了一个坐标,在该坐标中有两组信息:

第一组是各式各样的依赖版本号属性,如:

第二组是各式各样的依赖坐标信息,依赖的坐标中的版本都是引用了第一组信息

注:上面的依赖坐标定义是出现在<dependencyManagement>标签中的,是对引用坐标的依赖管理,并不是实际使用的坐标。因此当你的项目中继承了这组parent信息后,在不使用对应坐标的情况下,前面的这组定义是不会具体导入某个依赖的。

由于Maven的继承是单继承,上述方式使用了这次继承的机会,因此在阿里云中,将其改为导入parent,如下:

starter

在实际开发中,面对一些技术,往往需要导入固定的多个依赖,如ssm整合中就同时使用了springmvc,spring等依赖

对于这些固定的技术搭配,SpringBoot将其整合到一起,称为starter,只需要导入一个starter,就相当于导入了许多的依赖,且一个starter中可以包含多个其他的starter,这有效的减少了依赖配置

如入门案例中:

pom.xml中导入了一个名称中包含starter的依赖

其内部又有以下依赖:

且这些依赖中还包含其他的名称中有starter的依赖,这样就引入了许多的依赖

因此starter的功能就是:

starter是一个坐标中定了若干个坐标,以前写多个的,现在写一个,是用来减少依赖配置的书写量的

注:

1.starter中不一定包含所有我们需要的依赖,因此这部分依赖仍需要我们手动配置版本

但是这可能会导致坐标冲突的情况,因此需要覆盖SpringBoot提供的配置:

  • 方式一:直接写坐标
  • 方式二:覆盖<properties>中定义的版本号,哪个冲突了覆盖哪个就可以了

2.官方也提供了很多starter的定义,且名称的格式均如下:

命名规则:spring-boot-starter-技术名称

引导类

目前程序运行的入口就是SpringBoot工程创建时自带的那个类,也就是带有main方法的那个类,运行这个类就可以启动SpringBoot工程的运行。

SpringBoot程序启动还是创建了一个Spring容器对象。当前运行的这个类在SpringBoot程序中是所有功能的入口,称为引导类

SpringBoot工程运行后会初始化Spring容器,会扫描引导类所在包来加载bean

内嵌tomcat

在使用SpringBoot时,运行引导类后,能够自动启动Tomcat服务器

内嵌Tomcat位置

其依赖在spring-boot-starter-web中的spring-boot-starter-tomcat内部的tomcat-embed-core

叫做tomcat内嵌核心,其功能就是将tomcat功能引入到我们的程序中

运行原理

Tomcat是一款用Java语言开发的软件

因此其本身也可以作为一个对象交给Spring容器管理

更换内嵌Tomcat

SpringBoot提供了3款内置的服务器:

  • tomcat(默认):apache出品,粉丝多,应用面广,负载了若干较重的组件
  • jetty:更轻量级,负载性能远不及tomcat
  • undertow:负载性能勉强跑赢tomcat

只需要在pom.xml文件中将tomcat排除,然后加入对应的依赖就可以更换对应的服务器

<dependencies>
  <dependency>
    <groupId>org.springframework.boot</groupId>
    <artifactId>spring-boot-starter-web</artifactId>
    <exclusions>
      <exclusion>
        <groupId>org.springframework.boot</groupId>
        <artifactId>spring-boot-starter-tomcat</artifactId>
      </exclusion>
    </exclusions>
  </dependency>
  <dependency>
    <groupId>org.springframework.boot</groupId>
    <artifactId>spring-boot-starter-jetty</artifactId>
  </dependency>
</dependencies>

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值