一、简介
本文将总结一些现在非常流行的开箱即用框架SpringBoot相关的面试题。
二、面试题
【1】什么是SpringBoot?
Spring Boot是Spring开源组织下的子项目,是Spring组件一站式解决方案,主要是简化了使用Spring的难度,简省了繁重的配置,提供了各种启动器,开发者能快速上手。
【2】SpringBoot有哪些优点?
- 独立运行
Spring Boot而且内嵌了各种servlet容器,Tomcat、Jetty等,现在不再需要打成war包部署到容器中,Spring Boot只要打成一个可执行的jar包就能独立运行,所有的依赖包都在一个jar包内。
- 简化配置
spring-boot-starter-web启动器自动依赖其他组件,简少了maven的配置。
- 自动配置
Spring Boot能根据当前类路径下的类、jar包来自动配置bean,如添加一个spring-boot-starter-web启动器就能拥有web的功能,无需其他配置。
- 无代码生成和XML配置
Spring Boot配置过程中无代码生成,也无需XML配置文件就能完成所有配置工作,这一切都是借助于条件注解完成的,这也是Spring4.x的核心功能之一。
- 应用监控
Spring Boot提供一系列端点可以监控服务及应用,做健康检测。
【3】SpringBoot中的监视器是什么?
SpringBoot actuator监视器可帮助我们访问生产环境中正在运行的应用程序的当前状态,有几个指标必须在生产环境中进行检查和监控,即使一些外部应用程序可能正在使用 这些服务来向相关人员触发警报信息。监视器模板公开了一组可直接作为URL访问的REST端点来检查状态。
【4】如何在SpringBoot中禁用Actuator端点安全性?
在配置文件中加入下面的配置:
management.security.enabled = false
【5】如何在自定义端口上运SpringBoot应用程序?
在配置文件中application.properties/application.yml中指定端口:
server.port = 8090
server:
port: 8080
【6】什么是YAML?
YAML是一种人类可读的数据序列化语言。通常用于配置文件,与属性文件相比,如果我们想要在配置文件中添加更加复杂的属性,YAML文件就更加结构化,而且更少混淆,可以看出YAML具有分层配置数据。
【7】什么是Swagger?
Swagger广泛用于可视化API,使用Swagger UI为前端人员提供在线沙箱。Swagger是用于生成RESTful Web服务的可视化表示的工具,规范和完整框架实现,当通过Swagger正确定义时,消费者可以使用最少量的实现逻辑来理解远程服务并与其进行交互。
【8】什么是FreeMarker模板?
FreeMarker是一个基于Java的模板引擎,使用FreeMarker的主要优点是表示层和业务层的完全分离,程序员可以处理应用程序代码,而设计人员可以处理html页面设计,最后使用FreeMarker可以将这些结合起来,给出最终的输出页面。
【9】什么是CSRF攻击?
CSRF代表跨站请求伪造,这是一种攻击,迫使最终用户在当前通过身份验证的Web应用程序上执行不需要的操作。CSRF攻击专业针对于状态改变请求,而不是数据窃取,因为攻击者无法查看对伪造请求的响应。
【10】您使用了哪些starter maven的依赖项?
- spring-boot-starter-activemq
- spring-boot-starter-security
- spring-boot-starter-web
- spring-boot-starter-actuator
- spring-boot-starter-redis等
三、总结
更多推荐
SpringBoot常见面试题总结一
发布评论