互联网Java工程师面试题·Spring Boot篇·第一弹

目录

1、什么是 Spring Boot?

2、Spring Boot 有哪些优点?

3、什么是 JavaConfig?

4、如何重新加载 Spring Boot 上的更改,而无需重新启动服务器?

5、Spring Boot 中的监视器是什么?

6、如何在 Spring Boot 中禁用 Actuator 端点安全性?

7、如何在自定义端口上运行 Spring Boot 应用程序?


1、什么是 Spring Boot?

        多年来,随着新功能的增加,spring 变得越来越复杂。只需访问https://spring.io/projects 页面,我们就会看到可以在我们的应用程序中使用的所有 Spring 项目的不同功能。如果必须启动一个新的 Spring 项目,我们必须添加构建路径或添加 Maven 依赖关系,配置应用程序服务器,添加 spring 配置。因此,开始一个新的 spring 项目需要很多努力,因为我们现在必须从头开始做所有事情。

        Spring Boot 是解决这个问题的方法。Spring Boot 已经建立在现有 spring 框架之上。使用 spring 启动,我们避免了之前我们必须做的所有样板代码和配置。因此,Spring Boot 可以帮助我们以最少的工作量,更加健壮地使用现有的 Spring功能。


2、Spring Boot 有哪些优点?

Spring Boot 的优点有:

1、减少开发,测试时间和努力。

2、使用 JavaConfig 有助于避免使用 XML。

3、避免大量的 Maven 导入和各种版本冲突。

4、提供意见发展方法。

5、通过提供默认值快速开始开发。

6、没有单独的 Web 服务器需要。这意味着你不再需要启动 Tomcat,Glassfish或其他任何东西。

7、需要更少的配置 因为没有 web.xml 文件。只需添加用@ Configuration 注释的类,然后添加用@Bean 注释的方法,Spring 将自动加载对象并像以前一样对其进行管理。您甚至可以将@Autowired 添加到 bean 方法中,以使 Spring 自动装入需要的依赖关系中。

8、基于环境的配置 使用这些属性,您可以将您正在使用的环境传递到应用程序:-Dspring.profiles.active = {enviornment}。在加载主应用程序属性文件后,Spring 将在(application{environment} .properties)中加载后续的应用程序属性文件。


3、什么是 JavaConfig?

Spring JavaConfig 是 Spring 社区的产品,它提供了配置 Spring IoC 容器的纯Java 方法。因此它有助于避免使用 XML 配置。使用 JavaConfig 的优点在于:

1、面向对象的配置。由于配置被定义为 JavaConfig 中的类,因此用户可以充分利用 Java 中的面向对象功能。一个配置类可以继承另一个,重写它的@Bean 方法等。

2、减少或消除 XML 配置。基于依赖注入原则的外化配置的好处已被证明。但是,许多开发人员不希望在 XML 和 Java 之间来回切换。JavaConfig 为开发人员提供了一种纯 Java 方法来配置与 XML 配置概念相似的 Spring 容器。从技术角度来讲,只使用 JavaConfig 配置类来配置容器是可行的,但实际上很多人认为将JavaConfig 与 XML 混合匹配是理想的。

3、类型安全和重构友好。JavaConfig 提供了一种类型安全的方法来配置 Spring容器。由于 Java 5.0 对泛型的支持,现在可以按类型而不是按名称检索 bean,不需要任何强制转换或基于字符串的查找。


4、如何重新加载 Spring Boot 上的更改,而无需重新启动服务器?

        这可以使用 DEV 工具来实现。通过这种依赖关系,您可以节省任何更改,嵌入式tomcat 将重新启动。Spring Boot 有一个开发工具(DevTools)模块,它有助于提高开发人员的生产力。Java 开发人员面临的一个主要挑战是将文件更改自动部署到服务器并自动重启服务器。开发人员可以重新加载 Spring Boot 上的更改,而无需重新启动服务器。这将消除每次手动部署更改的需要。Spring Boot 在发布它的第一个版本时没有这个功能。这是开发人员最需要的功能。DevTools 模块完全满足开发人员的需求。该模块将在生产环境中被禁用。它还提供 H2 数据库控制台以更好地测试应用程序。

<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-devtools</artifactId>
<optional>true</optional>

5、Spring Boot 中的监视器是什么?

        Spring boot actuator 是 spring 启动框架中的重要功能之一。Spring boot 监视器可帮助您访问生产环境中正在运行的应用程序的当前状态。有几个指标必须在生产环境中进行检查和监控。即使一些外部应用程序可能正在使用这些服务来向相关人员触发警报消息。监视器模块公开了一组可直接作为 HTTP URL 访问的REST 端点来检查状态。


6、如何在 Spring Boot 中禁用 Actuator 端点安全性?

        默认情况下,所有敏感的 HTTP 端点都是安全的,只有具有 ACTUATOR 角色的用户才能访问它们。安全性是使用标准的 HttpServletRequest.isUserInRole 方法实施的。 我们可以使用来禁用安全性。只有在执行机构端点在防火墙后访问时,才建议禁用安全性。


7、如何在自定义端口上运行 Spring Boot 应用程序?

        为了在自定义端口上运行 Spring Boot 应用程序,您可以在application.properties 中指定端口。

server.port = 8090

千题千解·Java面试宝典_时光の尘的博客-CSDN博客

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

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

相关文章

掌控安全 -- POST 注入

POST注入第一题 既然是POST注入&#xff0c;那么再用GET传参的方式就不能用了 万能密码登录一下试试 这里显示成功登录&#xff0c;然后就可以知道登录框这里存在注入&#xff0c;也就是可以构造sql语句进行注入&#xff0c;然后就是正常的注入手法了。 or 11 order by 1# 这…

Java分布式系统:了解分布式系统设计和通信协议

引言&#xff1a; 在当今互联网时代&#xff0c;随着用户数量的不断增加和业务规模的扩大&#xff0c;单机系统往往无法满足大规模的需求。分布式系统的出现解决了这个问题&#xff0c;通过将任务分解到多台计算机上进行并行处理&#xff0c;提高了系统的性能和可扩展性。本文将…

ArkUI组件--Text组件

1.声明Text组件并设置文本内容 Text(content?:string|Recource) #两种数据类型&#xff0c;字符串和本地资源文件 ①string格式&#xff0c;直接填写文本内容 Text(需要显示的文本) ②Recource格式&#xff0c;读取本地资源文件 Text($r(app.string.width_label)) 读取图…

快速学习PyQt5的高级自定义控件

Pyqt5相关文章: 快速掌握Pyqt5的三种主窗口 快速掌握Pyqt5的2种弹簧 快速掌握Pyqt5的5种布局 快速弄懂Pyqt5的5种项目视图&#xff08;Item View&#xff09; 快速弄懂Pyqt5的4种项目部件&#xff08;Item Widget&#xff09; 快速掌握Pyqt5的6种按钮 快速掌握Pyqt5的10种容器&…

WPS项目编号(序号)无法继续前一列表

问题&#xff1a;在编写文档中&#xff0c;序号无法继续前一列表&#xff0c;序号之间无法自动连接。 解决方法&#xff1a;使用格式刷。格式刷是复制格式的操作&#xff0c;可以用于选中已有格式的单元格&#xff0c;复制到需要设置格式的单元格。 参考文章&#xff1a;在wps…

Python的UI操作——UiAutomation 库

1.安装 pip install uiautomation2.UiAutomation 库常用场景 UiAutomation 库主要用于自动化测试和 UI 操作的场景。下面是一些常见的使用场景&#xff1a; 自动化测试&#xff1a;UiAutomation 库可以帮助开发人员编写自动化测试脚本&#xff0c;通过模拟用户操作和验证应用…

戴森发布全新Airstrait吹风直发器,美发科技品类再添力作

——利用气流&#xff0c;吹干的同时拉直头发&#xff0c;无需热夹板&#xff0c;头发无热损伤 &#xff08;2023年11月30日&#xff0c;上海&#xff09;戴森今日重磅发布全新美发造型产品——戴森Airstrait™吹风直发器&#xff0c;作为戴森美发科技品类的又一创新力作&…

Debian Linux安装配置ibus rime中文输入法

Linux安装配置Rime 安装 清除所有fcitx软件包 sudo apt purge fcitx*安装ibus和ibus-rime sudo apt install ibus ibus-rime启用输入法 找到输入法配置 启用ibus输入法 此时由于刚安装完毕ibus并没有启动 要么重启系统 要么输入下面的命令 ibus-daemon -drx找到ibus首选…

边缘计算网关构建智慧楼宇新生态,打造未来建筑管理

边缘计算网关在无人值守环境中的应用十分广泛&#xff0c;尤其在智慧楼宇管理方面发挥着重要作用。它能够实现多个地点多楼宇之间的数据实时互通&#xff0c;通过边缘计算网关物联网应用构建智慧楼宇生态系统&#xff0c;解决传统楼宇管理网络布线、人员巡检以及后期运维等问题…

Leetcode—409.最长回文串【简单】

2023每日刷题&#xff08;四十八&#xff09; Leetcode—409.最长回文串 强烈吐槽&#xff01;&#xff01;&#xff01; 非常不理解&#xff0c;同样的代码&#xff0c;为什么C跑不了C就跑得了&#xff0c;力扣编译器是对C语言有歧视吗&#xff1f;&#xff1f;&#xff1f;…

Android Studio中Flutter项目找不到Android真机设备解决方法

起因&#xff1a;创建正常Android项目可以运行在真机设备上&#xff0c;创建flutter项目就找寻不到Android真机设备。 1&#xff1a;在flutter sdk安装目录按下Shift和鼠标右键&#xff0c;打开Powershell窗口 2&#xff1a;输入以下&#xff0c;然后回车 flutter config --…

yolov3 train.py解读

train.py #-------------------------------------# # 对数据集进行训练 #-------------------------------------# import datetime import os from functools import partialimport numpy as np import torch import torch.backends.cudnn as cudnn import torch.dist…

基于Amazon Bedrock介绍大语言模型

本文基于亚马逊云科技推出的大语言模型与生成式AI的全家桶&#xff1a;Bedrock对大语言模型进行介绍。大语言模型指的是具有数十亿参数&#xff08;B&#xff09;的预训练语言模型&#xff08;例如&#xff1a;GPT-3, Bloom, LLaMA)。这种模型可以用于各种自然语言处理任务&…

目标检测YOLO实战应用案例100讲-基于深度学习的输电线路 鸟巢检测

目录 前言 国内外研究现状 基于深度学习的目标检测算法研究现状

什么是网站?

这篇文章是我学习网站开发&#xff0c;阶段性总结出来的。可以帮助你 通俗易懂 地更加深刻理解网站的这个玩意。 一&#xff0c;网站和网页的区别&#xff1f; 网站是由一个个网页组成。我们在浏览器上面看到的每一个页面就是网页&#xff0c;这些 相关的 网页组成一个网站。…

数据库系统概论期末经典大题讲解(用关系代数进行查询)

今天也是结束的最为密集的考试周&#xff0c;在分析过程中自己也有些许解题的感悟&#xff0c;在此分享出来&#xff0c;希望能帮到大家期末取得好成绩。 一.专门的关系运算 1.选择&#xff08;σ&#xff09; 选择操作符用于从关系中选择满足特定条件的元组 例如&#xff0c;…

导出主机上所有docker 镜像并导入到其它主机

保存镜像列表到文件 docker images --format “{{.Repository}}:{{.Tag}}” > image_list.txt 导出列表中所有镜像到tar文件 cat image_list.txt | xargs -L 1 docker save -o all_images.tar 导入tar包中所有镜像 docker load -i all_images.tar

异常处理 springboot

全局异常处理 RestcontrollerAdvice Exceptonhandler package com.it.Exception;import com.it.pojo.Result; import org.springframework.web.bind.annotation.ExceptionHandler; import org.springframework.web.bind.annotation.RestControllerAdvice;/*全局异常处理器…

如何制定公司网络安全战略

网络安全可以保护公司的重要信息免受恶意软件和数据泄露等威胁。网络安全策略列出了您公司的 IT 系统当前面临的风险、您计划如何预防这些风险&#xff0c;以及如果发生这些风险该怎么办。 让本文成为您制定有效网络安全策略的一站式指南。我们将讨论网络安全风险评估以及策略…