程序员社区

精选SpringBoot面试题,附答案

我把所有Java相关的面试题和答案都整理成了PDF,并且带书签目录,阅读起来非常方便

面试题及答案PDF下载http://117.78.51.75/?p=2645

面试题及答案PDF下载http://117.78.51.75/?p=2645

面试题及答案PDF下载http://117.78.51.75/?p=2645

1. 什么是 Spring Profiles?

Spring Profiles 允许用户根据配置文件(dev,test,prod 等)来注册 bean。因此,当应用程序在开发中运行时,只有某些 bean 可以加载,而在 PRODUCTION中,某些其他 bean 可以加载。假设我们的要求是 Swagger 文档仅适用于 QA 环境,并且禁用所有其他文档。这可以使用配置文件来完成。Spring Boot 使得使用配置文件非常简单。

2. Spring Boot 自动配置原理是什么?

注解 @EnableAutoConfiguration, @Configuration, @ConditionalOnClass 就是自动配置的核心,

@EnableAutoConfiguration 给容器导入META-INF/spring.factories 里定义的自动配置类。

筛选有效的自动配置类。

每一个自动配置类结合对应的 xxxProperties.java 读取配置文件进行自动配置功能

3. RequestMapping 和 GetMapping 的不同之处在哪里?

RequestMapping 具有类属性的,可以进行 GET,POST,PUT 或者其它的注释中具有的请求方法。GetMapping 是 GET 请求方法中的一个特例。它只是 ResquestMapping 的一个延伸,目的是为了提高清晰度。

4. 什么是JavaConfig?

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

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

减少或消除XML配置。基于依赖注入原则的外化配置的好处已被证明。但是,许多开发人员不希望在XML和Java之间来回切换。

JavaConfig为开发人员提供了一种纯Java方法来配置与XML配置概念相似的Spring容器。

从技术角度来讲,只使用JavaConfig配置类来配置容器是可行的,但实际上很多人认为将JavaConfig与XML混合匹配是理想的。

类型安全和重构友好。JavaConfig提供了一种类型安全的方法来配置Spring容器。由于Java 5.0对泛型的支持,现在可以按类型而不是按名称检索bean,不需要任何强制转换或基于字符串的查找。Spring JavaConfig是Spring社区的产品,它提供了配置Spring IoC容器的纯Java方法。因此它有助于避免使用XML配置。使用JavaConfig的优点在于:

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

减少或消除XML配置。基于依赖注入原则的外化配置的好处已被证明。但是,许多开发人员不希望在XML和Java之间来回切换。

JavaConfig为开发人员提供了一种纯Java方法来配置与XML配置概念相似的Spring容器。

从技术角度来讲,只使用JavaConfig配置类来配置容器是可行的,但实际上很多人认为将JavaConfig与XML混合匹配是理想的。

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

5. spring boot 核心配置文件是什么?bootstrap.properties 和 application.properties 有何区别 ?

单纯做 Spring Boot 开发,可能不太容易遇到 bootstrap.properties 配置文件,但是在结合 Spring Cloud 时,这个配置就会经常遇到了,特别是在需要加载一些远程配置文件的时侯。

spring boot 核心的两个配置文件:

  • bootstrap (. yml 或者 . properties): boostrap 由父 ApplicationContext 加载的,比 applicaton 优先加载,配置在应用程序上下文的引导阶段生效。一般来说我们在 Spring Cloud Config 或者 Nacos 中会用到它。且 boostrap 里面的属性不能被覆盖;
  • application (. yml 或者 . properties): 由ApplicatonContext 加载,用于 spring boot 项目的自动化配置。

后面的问题,大家可以先自己独立思考一下。

另外我把所有Java相关的面试题和答案都整理出来了,给大家参考一下

面试题及答案PDF下载http://117.78.51.75/?p=2645

面试题及答案PDF下载http://117.78.51.75/?p=2645

面试题及答案PDF下载http://117.78.51.75/?p=2645

6. 什么是 Spring Data?

7. 创建一个 Spring Boot Project 的最简单的方法是什么?

8. 什么是YAML?

9. Spring Boot中的监视器是什么?

10. Spring Boot 中的 starter 到底是什么

11. SpringBoot 实现热部署有哪几种方式?

12. 什么是 Spring Batch?

13. Spring Boot 配置加载顺序详解

14. YAML 配置的优势在哪里 ?

15. Springboot集成mybatis的过程

16. 比较一下 Spring Security 和 Shiro 各自的优缺点 ?

17. 如何使用 Spring Boot 实现分页和排序?

18. Spring Boot 的核心注解是哪个?它主要由哪几个注解组成的?

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

20. 运行 Spring Boot 有哪几种方式?

21. 什么是 JavaConfig?

22. springboot自动配置的原理

23. Spring Boot 打成的 jar 和普通的 jar 有什么区别 ?

24. Spring Boot 的核心配置文件有哪几个?它们的区别是什么?

25. 什么是springboot ?

26. 为什么我们需要 spring-boot-maven-plugin?

27. Spring Boot初始化环境变量流程?

28. spring-boot-starter-parent 有什么用 ?

29. 什么是 CSRF 攻击?

30. Spring Boot 是否可以使用 XML 配置 ?

31. Spring Boot 支持哪些日志框架?推荐和默认的日志框架是哪个

32. spring boot的starter的执行原理

33. Spring Boot 的核心注解是哪个?它主要由哪几个注解组成的?

34. Spring Boot 的目录结构是怎样的?

35. 什么是 Spring Data REST?

36. 怎么理解 Spring Boot 中 “约定优于配置“

37. spring-boot-starter-parent 有什么用

38. 什么是 Swagger?你用 Spring Boot 实现了它吗?

39. 什么是 Spring Boot Stater ?

40. 你如何理解 Spring Boot 中的 Starters?

41. Spring Boot 中如何实现定时任务 ?

42. Spring Boot 如何定义多套不同环境配置?

43. SpringBoot 需要独立的容器运行吗?

44. Spring Boot 中如何解决跨域问题 ?

45. 如何集成 Spring Boot 和 ActiveMQ?

46. Spring Boot扫描流程?

47. Spring Boot、Spring MVC 和 Spring 有什么区别?

48. 为什么我们不建议在实际的应用程序中使用 Spring Data Rest?

49. SpringBoot自动配置原理是什么?

50. Spring Boot 还提供了其它的哪些 Starter Project Options?

51. 我们如何监视所有 Spring Boot 微服务?

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

53. Spring Boot 打成的 jar 和普通的 jar 有什么区别

54. 当 Spring Boot 应用程序作为 Java 应用程序运行时,后台会发生什么?

55. Spring Boot 有哪几种读取配置的方式?

56. 微服务中如何实现 session 共享

57. 什么是嵌入式服务器?我们为什么要使用嵌入式服务器呢?

58. Spring Initializr 是创建 Spring Boot Projects 的唯一方法吗?

59. Spring Boot、Spring MVC 和 Spring 有什么区别?

60. SpringBoot常用的starter有哪些?

61. Springboot 有哪些优点?

62. SpringBoot的原理

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

64. SpringBoot启动时都做了什么?

赞(0) 打赏
未经允许不得转载:IDEA激活码 » 精选SpringBoot面试题,附答案

相关推荐

  • 暂无文章

一个分享Java & Python知识的社区