首页 > 应用开发 > Java > java培训:22道springboot高频面试题
1. 什么是SpringBoot?
SpringBoot是 Spring 开源组织下的子项目,是Spring组件一站式解决方案,主要是简化了使用Spring的难度,简省了繁重的配置,提供了各种启动器,开发者能快速上手。
2. SpringBoot有哪些优点?
基于环境的配置 使用这些属性,您可以将您正在使用的环境传递到应用程序:
-Dspring.profiles.active = {enviornment}。
在加载主应用程序属性文件后,Spring将在 (application{environment} .properties) 【关注尚硅谷,轻松学IT】中加载后续的应用程序属性文件_ 。
3.SpringBoot的核心配置文件有哪几个?他们的区别是什么呢?
4.SpringBoot的配置文件有哪几种格式?他们有什么区别吗?
.properties 和 .yml,它们的区别主要是书写格式不同。1.properties
app.user.name = javastack
2.yml
app: user: name: javastack
5. SpringBoot的核心注解是哪个?它主要由哪几个注解组成的?
启动类上面的注解是@SpringBootApplication,它也是SpringBoot的核心注解 主要组合包含了以下 3 个注解:
6.开启SpringBoot特性有哪几种方式?
7. SpringBoot需要独立的容器运行吗?
可以不需要,内置了 Tomcat/ Jetty 等容器。
8. 运行SpringBoot 有哪几种方式?
9. SpringBoot 自动配置原理是什么?
注解 @EnableAutoConfiguration, @Configuration, @ConditionalOnClass 就是自动配置的核心,首先它得是一个配置文件,其次根据类路径下是否有这个类去自动配置。
10. SpringBoot 2.X 有什么新特性?
11. 如何使用SpringBoot实现分页和排序?
使用Spring Boot实现分页非常简单。使用Spring Data-JPA可以实现,将可分页的 org.springframework.data.domain.Pageable 传递给存储库的方法。
12. 如何实现SpringBoot 应用程序的安全性?
为了实现Spring Boot的安全性,我们使用 spring-boot-starter-security依赖项, 【关注尚硅谷,轻松学IT】并且必须添加安全配置。它只需要很少的代码。配置类将必须扩展WebSecurityConfigurerAdapter并覆盖其方法。
13. 如何集成SpringBoot 和 ActiveMQ
对于集成Spring Boot和ActiveMQ,我们使用spring-boot-starter-activemq 依赖关系。它只需要很少的配置,并且不需要样板代码。
14. 什么是YAML?
15. SpringBoot 中的监视器是什么呢?
16. 什么是Swagger?你用SpringBoot实现了它吗?
Swagger广泛用于可视化API,使用Swagger UI为前端开发人员提供在线沙箱。
Swagger是用于生成RESTful Web服务的可视化表示的工具,规范和完整框架实现。
它使文档能够以与服务器相同的速度更新。
当通过Swagger正确定义时,消费者可以使用最少量的实现逻辑来理解远程服务并与其进行交互。
因此,Swagger消除了调用服务时的猜测。
17. 如何使用SpringBoot实现异常处理?
Spring提供了一种使用ControllerAdvice处理异常的非常有用的方法。
我们通过实现一个ControlerAdvice类,来处理控制器类抛出的所有异常。
18. RequestMapping和GetMapping的不同之处在哪里?
RequestMapping 具有类属性的,可以进行 GET,POST,PUT 或者其它的注释中具有的请求方法。
GetMapping 是 GET 请求方法中的一个特例。
它只是 ResquestMapping 的一个延伸,目的是为了提高清晰度。
19. SpringBoot可以兼容老Spring项目吗?如何做?
可以兼容,使用 @ImportResource 注解导入老 Spring 项目配置文件。
20. 保护SpringBoot应用有哪些方法?
21. SpringBoot打成的jar和普通jar有什么区别?
Spring Boot 项目最终打包成的 jar 是可执行 jar ,这种 jar 可以直接通过 java -jar xxx.jar 命令来运行,这种 jar 不可以作为普通的 jar 被其他项目依赖,即使依赖了也无法使用其中的类。
Spring Boot 的 jar 无法被其他项目依赖,主要还是他和普通 jar 的结构不同。
普通的 jar 包,解压后直接就是包名,包里就是我们的代码,而 Spring Boot 打包成的可执行 jar 解压后,在 \BOOT-INF\classes 目录下才是我们的代码,因此无法被直接引用。
如果非要引用,可以在 pom.xml 文件中增加配置,将 Spring Boot 项目打包成两个 jar ,一个可执行,一个可引用。
22. SpringBoot中如何实现定时任务?
定时任务也是一个常见的需求,Spring Boot 中对于定时任务的支持主要还是来自 Spring 框架。
在 Spring Boot 中使用定时任务主要有两种不同的方式,
使用 Spring 中的 @Scheduled 的方式主要通过 @Scheduled 注解来实现。
使用 Quartz ,则按照 Quartz 的方式,定义 Job 和 Trigger 即可。
文章来源于Java学习之道
来自 “ ITPUB博客 ” ,链接:https://blog.itpub.net/70010293/viewspace-2870868/ ,如需转载,请注明出处,否则将追究法律责任。