springboot 禁用tomcat_Spring Boot 面试的十个问题

点击左上角蓝字,关注“SpringForAll社区”

专注分享Spring周边技术内容

用下面这些常见的面试问题为下一次 Spring Boot 面试做准备。

在本文中,我们将讨论 Spring boot 中最常见的10个面试问题。现在,在就业市场上,这些问题有点棘手,而且趋势日益严重。

1.  @SpringBootApplication 是做什么的?

根据 Spring Boot 文档, @SpringBootApplication   注解相当于使用 @Configuration 、@EnableAutoConfiguration 和 @ComponentScan 及其默认属性。Spring Boot 允许开发人员使用单个注解而不是多个注解。但是,正如我们所知,Spring 提供了松散耦合的特性,我们可以根据项目的需要单独使用每个注解。

2. 如何在不使用 basePackages 过滤器的情况下排除任何包?

您可以通过不同方式过滤任意的包。但是,在不接触组件扫描的情况下,Spring Boot 为实现这个提供了一个复杂的选项。当您使用注解 @SpringApplication 时,可以使用  exclude 属性。请参考以下代码片段:

@SpringBootApplication(exclude= {Employee.class})public class FooAppConfiguration {}

3. 如何禁用一个特定自动配置类?

如果您不想要某个特定的自动配置类生效,您可以使用 @EnableAutoConfiguration  的  exclude  属性。

//By using "exclude"@EnableAutoConfiguration(exclude={DataSourceAutoConfiguration.class})

另一方面,如果类不在类路径上,您可以使用注解的  excludeName  属性并指定完全限定名称。

//By using "excludeName"@EnableAutoConfiguration(excludeName={Foo.class})

另外,Spring Boot 通过使用  spring.autoconfigure.exclude  属性来控制要排除的自动配置类列表的工具。您可以添加到  application.properties 中。并且您可以使用逗号分隔添加多个类。

//By using property filespring.autoconfigure.exclude=org.springframework.boot.autoconfigure.jdbc.DataSourceAutoConfiguration

4. 什么是Spring Actuator ?它的优势是什么?

这是 Spring Boot 最常见的面试问题之一。根据 Spring 文档:

“Actuator 是一个制造术语,指用于移动或控制某物的机械装置。Actuator  可以通过微小的变化产生大量的运动。”

正如我们所知,Spring Boot 提供了许多自动配置特性,帮助开发人员快速开发产品组件。但是,如果您考虑调试和如何调试,如果出了什么问题,我们总是需要分析日志并挖掘应用程序的数据流,以检查发生了什么。因此,Spring Actuator 提供了方便的访问这些类型的功能。它提供了许多特性,例如创建了什么bean、控制器中的映射、CPU 使用情况等等。然后可以将自动收集和审计健康状况(health)以及指标(metric)到您的应用程序中。

它提供了一种非常简单的方法来访问少数生产就绪的  REST 端点 并从 Web 获取各种信息。但是通过使用这些端点,您可以做很多事情来查看端点文档。无需担心安全性;如果存在 Spring Security ,那么默认情况下使用 Spring  Security 的内容协商策略来保护这些端点。或者,我们可以通过  RequestMatcher 的帮助来配置自定义安全性。

5. 如何启用/禁用 Actuator ?

启用/禁用  Actuator  是很简单的。最简单的方法是启用功能,添加依赖项(Maven/Gradle)到 spring-boot-starter-actuator ,即 Starter 。如果你不想 Actuator  启动,则不添加依赖。

Maven 依赖:

			org.springframework.boot		spring-boot-starter-actuator	

6. 什么是 Spring  Initializer ?

这可能不是一个很难的问题,但是面试官总是会检查应聘者的专业知识。通常你不能总是期待你已经准备好的问题。然而,这几乎一直是一个非常常见的问题。

Spring  Initializer 是一个 Web 应用程序,它使用快速启动所需的一切来生成 Spring 启动项目。和往常一样,我们需要一个好的项目框架;它可以帮助您正确地创建项目结构/框架。您可以在这里了解关于 初始化器 的更多信息。

7.  Actuator  中的关闭是什么?

关闭是一个端点,它允许应用程序优雅地关闭。默认情况下不启用此功能。您可以通过在应用程序中的  application.properties 文件使用 management.endpoint.shutdown.enabled=true 启用此功能。但是如果你用这个的话要小心。

8. 能够在 Spring boot 中更改嵌入式 Tomcat 服务器的端口吗?

是的,可以更改端口。您可以使用  application.properties  文件改变端口。但是需要提到“ server.port ”(即:server.port=8081)。确保在项目类路径中有 application.properties ;REST Spring 框架将处理其余部分。如果您提到 server.port=0 ,那么它将自动分配任何可用的端口。

9. 我们在 Spring Boot 中能覆盖或替换嵌入式 Tomcat 服务器吗?

是的,我们可以使用  Starter 依赖项将嵌入式 Tomcat  替换为任何其他服务器。您可以根据需要使用  spring-boot-starter-jetty  或  spring-boot-start -undertow  作为每个项目的依赖项。

10. 我们可以在 Spring Boot 应用程序中禁用默认 web  服务器吗?

Spring 的主要优点是提供灵活性来构建松散耦合的应用程序。Spring 提供了在快速配置中禁用 Web 服务器的功能。是的,我们可以使用  application.properties  来配置  web  应用程序类型,即:spring.main.web-application-type=none  。

祝一切顺利!

来源:http://www.spring4all.com/article/15119 

推荐阅读:

《深入理解 Java 内存模型》读书笔记

面试-基础篇

Spring Boot 2.0 迁移指南

SpringBoot使用Docker快速部署项目

上篇好文:

为什么选择 Spring 作为 Java 框架?

右上角按钮分享给更多人哦~c882c148120c8ca7adfc5428de2e2eb0.pngc882c148120c8ca7adfc5428de2e2eb0.png

b47eb6e56a48f877151e5993e367c4f3.png

来都来了,点个在看再走吧~~~

9139e2d262e709e928c8527b4fa54c04.gif

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/571447.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

go 怎么等待所有的协程完成_理解真实世界中 Go 的并发 BUG

点击上方蓝色“Go语言中文网”关注,回复「电子书」领全套Go资料有几个学生研究归纳了go编程中的并发bugs,发表了一篇(英文)论文:《Understanding Real-World Concurrency Bugs in Go》。为你下载好了 PDF,关注公众号 Go语言中文网…

java地图图表动态亮点,可视化图表行动指南:地表最强解读来了

原标题:可视化图表行动指南:地表最强解读来了身处信息技术高速发展的时代,数据价值日益凸显,然而如何将数据更好的展示,让别人一看就懂且眼前一亮可是一门大学问。此前,小亿在广大数友的强烈要求下结合前人…

ASP.NET MVC 使用Swagger需要注意的问题!!!

之前,一直使用的微软自带的Microsoft.AspNet.WebApi.HelpPage来作为项目的接口文档,但总感觉有些不足,就准备采用Swagger。 在项目中引用Swagger很方便,直接Nuget搜索安装Swashbuckle就可以。但是,在使用的过程中&…

分块试水--CODEVS4927 线段树练习5

模板 1 #include<stdio.h>2 #include<algorithm>3 #include<string.h>4 #include<stdlib.h>5 #include<math.h>6 //#include<bitset>7 //#include<iostream>8 using namespace std;9 10 int n,m,q;11 #define maxn 10001112 #define…

【JVM】类的生命周期【转+整理】

参考如下三篇并整理。 1.Java类加载机制详解 2.深入理解Java&#xff1a;类加载机制及反射 3.jvm系列(一):java类的加载机制 类的生命周期是从被加载到虚拟机内存中开始&#xff0c;到卸载出内存结束。过程共有七个阶段。 1.加载---2.验证---3.准备---3.解析---5.初始化---6.使…

java概念,Java基础概念

1. Java编译程序将Java源程序翻译成JVM可执行代码-Java字节码。这一过程同C/C不同。当C编译器翻译成一个对象代码时&#xff0c;该代码是为在某一特定硬件平台运行而产生的。因此&#xff0c;在编译过程中&#xff0c;编译程序通过查表将所有符合引用转换为特定的内存偏移量。而…

【Excle】如何隐藏数据透视表中的错误值

如下&#xff1a;数据透视表出现错误怎么解决呢步骤方法①单击数据透视表任意单元格→数据透视表工具→分析→选项→勾选“对于错误值显示”→确定方法②右键→数据透视表选项&#xff08;同样可以修改&#xff09;转载于:https://www.cnblogs.com/OliverQin/p/8043469.html

repo同步代码_工欲善其事,必先利其器:repo 介绍

介绍此repo非彼repo。这里的repo&#xff0c;是指谷歌公司的一款小工具&#xff0c;名字就叫repo(我承认&#xff0c;这不是一个好名字&#xff0c;Google里面怎么搜都搜不到它的真身)。解决的问题有时候&#xff0c;我们需要在一台电脑上克隆很多个代码仓库&#xff0c;编译它…

ddd 企业应用架构模式_灵魂拷问:用了DDD分包就是落地了领域驱动设计吗?谈谈DDD本质...

学习DDD的时候&#xff0c;作为开发&#xff0c;我们更关心它在技术层面的东西&#xff0c;尤其体现在DDD的分包方式、编码技巧等方面。自然的&#xff0c;我们不禁发问&#xff0c;用了DDD的分包&#xff0c;就是实践落地了DDD了么&#xff1f;不卖关子&#xff0c;直接说答案…

java常见编码

摘自&#xff1a;http://www.cnblogs.com/yaya-yaya/p/5768616.html红色 主要点  灰色 内容 绿色 知识点 橘色 补充内容几种常见的编码格式 为什么要编码 不知道大家有没有想过一个问题&#xff0c;那就是为什么要编码&#xff1f;我们能不能不编码&#xff1f;要…

准确率 召回率_机器学习中F值(F-Measure)、准确率(Precision)、召回率(Recall)

在机器学习、数据挖掘、推荐系统完成建模之后&#xff0c;需要对模型的效果做评价。业内目前常常采用的评价指标有准确率(Precision)、召回率(Recall)、F值(F-Measure)等&#xff0c;下图是不同机器学习算法的评价指标。下文讲对其中某些指标做简要介绍。本文针对二元分类器&am…

Saving James Bond - Easy Version 原创 2017年11月23日 13:07:33

06-图2 Saving James Bond - Easy Version&#xff08;25 分&#xff09; This time let us consider the situation in the movie "Live and Let Die" in which James Bond, the worlds most famous spy, was captured by a group of drug dealers. He was sent to …

pandas 合并所有列_Python学习:Pandas库+练习资料

pandas包含数据结构和数据处理工具的设计使得在Python中进行数据清洗和分析非常快捷。pandas经常是和NumPy,Scipy以及数据可视化工具matplotlib一起使用的。pandas支持大部分NumPy语言风格的数组计算&#xff0c;但最大的不同在于pandas是用于处理表格型或异质型数据的。而NumP…

zabbix自动发现主机并加入组绑定模板

在被监控主机多的情况下&#xff0c;怎样将这些主机加入zabbix server进行监控呢&#xff1f;下面将介绍下zabbix自动发现功能 1、创建自动发现规则 创建“规则名称&#xff0c;配置ip范围及检查方式”&#xff0c;点击“增加”&#xff0c;完成自动发现规则的创建 2、加入组和…

kotlin 用协程做网络请求_中国电信营业厅: 感受 Kotlin 的 quot;加速度quot;

"我们手上是一个很成熟的项目&#xff0c;所以毫无疑问需要保留 Java 代码&#xff0c;目前只会在新开发的页面中使用 Kotlin&#xff0c;并已经感受到了它带来的便利。随着功能的迭代&#xff0c;我们相信更多的功能会转而使用 Kotlin。"—— 付迎鑫&#xff0c;电信…

拖动验证码插件

拖动验证码插件 效果图&#xff1a; 在验证前&#xff0c;提交弹出验证失败&#xff0c;验证后弹出验证成功。 文件结构&#xff1a; css&#xff1a; #drag{ position: relative;background-color: #e8e8e8;width: 300px;height: 34px;line-height: 34px;text-align: center; …

matlab padarray函数零,matlab padarray函数

1padarray功能&#xff1a;填充图像或填充数组。用法&#xff1a;B padarray(A,padsize,padval,direction)A为输入图像&#xff0c;B为填充后的图像&#xff0c;padsize给出了给出了填充的行数和列数&#xff0c;通常用[r c]来表示。padval表示填充方法。它的具体值和描述如下…

[知了堂学习笔记]_网络基础知识_1.OSI参考模型(网络七层协议)

OSI参考模型是国际标准化组织ISO制定的模型&#xff0c;把计算机与计算机之间的通信分成七个互相连接的协议层&#xff0c;如图&#xff1a; 1.1各层功能 1、物理层 最底层是物理层&#xff0c;这一次负责传送比特流&#xff0c;它从第二层数据接收数据帧&#xff0c;并将帧的结…

Linux版本配置环境变量,如何linux环境下配置环境变量过程图解

jdk下载地址&#xff1a;在linux环境下的root同级目录下配置software目录将下载好的jdk上传到software文件夹里面(我使用的操作软件是)到software这个目录下.输入命令:cd /software输入命令:ll就可以看到我们的jdk包解压文件解压命令 tar xzvf jdk-8u111-linux-x64.tar.gz解压之…

奔腾双核linux服务器,Dell推出双核心奔腾服务器

来自业内的消息&#xff0c;Dell近日推出了一台采用Intel双核心 Pentium D的服务器&#xff0c;这将给小型服务器带来更强的运算能力。Dell PowerEdge SC430 主要面向小型企业客户&#xff0c;价格在499美元起。相比PowerEdge SC420&#xff0c;Dell为 PowerEdge SC430 装配了两…