0
点赞
收藏
分享

微信扫一扫

SpringBoot起步依赖及切换web服务器


目录

​​一、SpringBoot概述​​

​​二、起步依赖​​

​​探索父工程​​

​​探索依赖​​

​​三、程序启动​​

​​四、切换web服务器​​

一、SpringBoot概述

SpringBoot是由Pivota团队提供的全新框架,其设计目的是用来简化Spring初始搭建以及开发过程。

原始Spring环境搭建和开发存在以下问题:

● 配置繁琐

● 依赖设置繁琐

SpringBoot程序优点恰巧针对Spring的缺点

● 自动配置,这个是用来解决Spring程序配置繁琐的问题

● 起步依赖,这个是用来解决Spring程序依赖设置繁琐的问题

● 辅助功能(内置服务器...),我们在启动SpringBoot程序时既没有使用本地的tomcat也没有使用tomcat插件,而是使用SpringBoot内置的服务器。

二、起步依赖

我们在使用Spring Initializr方式创建的Maven工程的pom.xml配置文件中自动生成很多包含starter的依赖,这些依赖就是起步依赖。

SpringBoot起步依赖及切换web服务器_java

探索父工程

从上面的文件中可以看到指定了一个父工程,我们进入到父工程中又指定了一个父工程,如下图所示

SpringBoot起步依赖及切换web服务器_spring boot_02

 在进入到该父工程中,在该工程中我们可以看到配置内容结构如下图所示

SpringBoot起步依赖及切换web服务器_服务器_03

上图中的properties标签中定义了各个技术软件依赖的版本,避免了我们在使用不同软件技术时考虑版本兼容的问题,在properties中我们找到servlet和mysql的版本如下

SpringBoot起步依赖及切换web服务器_服务器_04

SpringBoot起步依赖及切换web服务器_java_05

 dependencyManagement标签是进行依赖版本锁定,但是并没有导入对应的依赖,如果我们工程需要那个依赖,只需要引入依赖的groupid和artifactId不需要定义version。

而build标签中也对插件的版本进行了锁定,如下图

SpringBoot起步依赖及切换web服务器_spring_06

 看完父工程中pom.xml的配置后不难理解我们工程的依赖为什么都没有配置version。

探索依赖

在我们创建的工程中的pom.xml中配置了如下依赖

SpringBoot起步依赖及切换web服务器_spring_07

进入依赖,查看pom.xml的依赖会发现引用了如下依赖

SpringBoot起步依赖及切换web服务器_spring_08

里面引用了spring-web和spring-webmvc的依赖,这就是为什么我们的工程中没有依赖这两个包还能正常使用springmvc中注解的原因。

而依赖springboot-starter-tomcat,从名字基本能确定内部依赖了tomcat,所以我们的工程才能正常启动。

结论:以后需要使用技术,只需要引入该技术对应的起步依赖即可

小结:

starter

● SpringBoot中常见的项目名称,定义当前项目使用的所有项目坐标,已达到减少依赖配置的目的

parent

● 所有SpringBoot项目要继承的项目,定义了若干个坐标版本号(依赖管理,而非依赖),已达到减少依赖冲突的目的

● spring-boot-starter-parent(2.5.0)与spring-boot-starter-parent(2.4.6)共计57处坐标版本不同

实际开发

● 使用任意坐标时,仅属性GAV中的G和A,V由SpringBoot提供

G:groupid

A:artifactId

V:version

● 如发送坐标错误,再指定version(要小心版本冲突)

三、程序启动

创建每一个SpringBoot程序时都包含一个类似于下面的类,我们将这个类称为引导类

@SpringBootApplication
public class Application {

public static void main(String[] args) {
SpringApplication.run(Application.class, args);
}
}

注意:

SpringBoot在创建项目时,采用jar的打包方式

SpringBoot的引导类是项目的入口,运行main方法就可以启动项目

因为我们在pom.xml中配置了spring-boot-starter-web依赖,而该依赖通过前面的学习知道它依赖tomcat,所以运行main方法就可以使用tomcat启动工程。

四、切换web服务器

现在我们的启动工程使用的是tomcat服务器,那能不能不使用tomcat而使用jetty服务器,jetty服务器是maven私服使用的服务器,而要切换web服务器就需要将默认的tomcatf服务器给排除掉,使用exclusion标签

        <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>

再引入jetty服务器,在pom.xml中引入jetty的起步依赖

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

运行引导类,在日志信息中就可以看到使用的是jetty服务器

SpringBoot起步依赖及切换web服务器_大数据_09

 通过切换服务器,我们可以发现使用SpringBoot切换技术时只需要导入该技术的起步依赖即可。

举报

相关推荐

0 条评论