当前位置:首页 > 机动车 >

springboot是前端还是后端(springboot最底层是什么)

来源:原点资讯(m.360kss.com)时间:2023-11-09 19:09:05作者:YD166手机阅读>>

我们可以发现,它最终使用了@Configuration注解,所以,归根到底,我们使用的引用类,也是一个配置类。

内嵌Tomcat1、Tomcat定义位置

程序现在已经运行了,通过引导类的main方法运行了起来。但是运行java程序不应该是执行完就结束了吗?但是我们现在明显是启动了一个web服务器啊,不然网页怎么能正常访问呢?这个服务器是在哪里写的呢?

认真想一想,它就在我们引入的spring-boot-starter-web场景starter中,我们打开它来看一看:

springboot是前端还是后端,springboot最底层是什么(13)

这里面有一个核心的坐标,tomcat-embed-core,叫做tomcat内嵌核心。就是这个东西把tomcat功能引入到了我们的程序中。

springboot是前端还是后端,springboot最底层是什么(14)

2、Tomcat运行原理

再来说第二个问题,这个服务器是怎么运行的?

Tomcat服务器是一款软件,而且是一款使用java语言开发的软件,既然是使用java语言开发的,运行的时候肯定符合java程序运行的原理,java程序运行靠的是什么?对象呀,一切皆对象,万物皆对象。那tomcat运行起来呢?也是对象。

如果是对象,那Spring容器是用来管理对象的,这个对象能不能交给Spring容器管理呢?答案是可以的!tomcat服务器运行其实是以对象的形式在Spring容器中运行的,怪不得我们没有安装这个tomcat,而且还能用。闹了白天这东西最后是以一个对象的形式存在,保存在Spring容器中悄悄运行的。具体运行的是什么呢?其实就是上前面提到的那个tomcat内嵌核心

具体内嵌核心依赖如下:

<dependency> <groupId>org.apache.tomcat.embed</groupId> <artifactId>tomcat-embed-core</artifactId> <version>9.0.58</version> <scope>compile</scope> <exclusions> <exclusion> <artifactId>tomcat-annotations-api</artifactId> <groupId>org.apache.tomcat</groupId> </exclusion> </exclusions> </dependency>3、更换内嵌Tomcat

那既然是个对象,如果把这个对象从Spring容器中去掉是不是就没有web服务器的功能呢?当然可以,通过依赖排除可以去掉这个web服务器功能。根据SpringBoot的工作机制,用什么技术,加入什么依赖就行了。我选择的是SpringBoot提供的内置服务器jetty

更换代码如下:

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

让我们运行一下看看是什么样的结果:

springboot是前端还是后端,springboot最底层是什么(15)

输出结果是没有问题的,但是服务器就不是默认的Tomcat了,而是我选择的jetty服务器。

点击下方,第一时间了解华为云新鲜技术~

栏目热文

springboot多数据源(springboot 自动添加数据)

springboot多数据源(springboot 自动添加数据)

通过springboot druid mybatisplus使用注解整合第一步:引入相关的依赖jar,如下:<de...

2023-11-09 18:44:46查看全文 >>

springboot图解(springboot视频播放接口)

springboot图解(springboot视频播放接口)

万物皆可Hello World在一个程序员的眼里,万物皆可Hello World。Spring Boot当然也不例外。下...

2023-11-09 18:54:04查看全文 >>

springboot启动过程图解(SpringBoot启动流程)

springboot启动过程图解(SpringBoot启动流程)

springboot启动过程中会用到事件发布机制。这里先事件发布说明一下。Spring中的事件发布机制。网上有一篇文章介...

2023-11-09 18:32:06查看全文 >>

springboot优缺点(springboot可以开发安卓吗)

springboot优缺点(springboot可以开发安卓吗)

SpringBoot核心功能2.1、独立运行Spring项目Spring boot 可以以jar包形式独立运行,运行一个...

2023-11-09 19:10:21查看全文 >>

springboot项目实战视频(spring项目实例)

springboot项目实战视频(spring项目实例)

Spring Boot 3是一个非常令人期待的版本,将进一步扩大Spring Boot框架在应用程序开发领域的影响力,并...

2023-11-09 18:58:14查看全文 >>

springboot快速入门(spring boot框架介绍)

springboot快速入门(spring boot框架介绍)

什么是 Spring Boot ?解释一下:Spring Boot 可以构建一切。Spring Boot 设计之初就是为...

2023-11-09 18:39:30查看全文 >>

springboot三大原理(springboot 原理是啥)

springboot三大原理(springboot 原理是啥)

前言springBoot是Spring的包装,通过自动配置使得SpringBoot可以做到开箱即用,上手成本非常低,但是...

2023-11-09 19:15:42查看全文 >>

springboot详细图解(spring中文开发手册)

springboot详细图解(spring中文开发手册)

什么是 Spring Boot?Spring Boot 是由 Pivotal 团队提供的全新框架。Spring Boot...

2023-11-09 18:59:46查看全文 >>

springboot超详细教程(springboot项目实战视频)

springboot超详细教程(springboot项目实战视频)

SpringBoot现在已经是企业开发项目的标准框架,至少新项目一般都会使用SpringBoot框架,发现有一个Spri...

2023-11-09 18:50:48查看全文 >>

springboot自动装配原理面试(spring boot自动装配面试题)

springboot自动装配原理面试(spring boot自动装配面试题)

推荐学习1:2:SpringBoot自动配置原理是什么?面试过程中问得最多的可能是自动装配的原理,而自动装配是在启动过程...

2023-11-09 18:46:09查看全文 >>

文档排行