公司面试必问的41道 Spring Boot 面试题

来源:阿凯的帽子反戴
原:blog.csdn.net/Kevin_Gu6/article/details/88547424
今天跟大家分享下SpringBoot 常见面试题的知识 。
1 什么是springboot ?
用来简化spring应用的初始搭建以及开发过程 使用特定的方式来进行配置(properties或yml文件)
创建独立的spring引用程序 main方法运行
嵌入的tomcat 无需部署war文件
简化maven配置
【公司面试必问的41道 Spring Boot 面试题】自动配置spring添加对应功能starter自动化配置
答:spring boot来简化spring应用开发 , 约定大于配置 , 去繁从简 , just run就能创建一个独立的 , 产品级别的应用
2 Springboot 有哪些优点?
-快速创建独立运行的spring项目与主流框架集成
-使用嵌入式的servlet容器 , 应用无需打包成war包
-starters自动依赖与版本控制
-大量的自动配置 , 简化开发 , 也可修改默认值
-准生产环境的运行应用监控
-与云计算的天然集成
3 如何重新加载Spring Boot上的更改 , 而无需重新启动服务器?
这可以使用DEV工具来实现 。 通过这种依赖关系 , 您可以节省任何更改 , 嵌入式tomcat将重新启动 。
Spring Boot有一个开发工具(DevTools)模块 , 它有助于提高开发人员的生产力 。 Java开发人员面临的一个主要挑战是将文件更改自动部署到服务器并自动重启服务器 。
开发人员可以重新加载Spring Boot上的更改 , 而无需重新启动服务器 。 这将消除每次手动部署更改的需要 。 Spring Boot在发布它的第一个版本时没有这个功能 。
这是开发人员最需要的功能 。 DevTools模块完全满足开发人员的需求 。 该模块将在生产环境中被禁用 。 它还提供H2数据库控制台以更好地测试应用程序 。
org.springframework.boot
spring-boot-devtools
true
4 Spring Boot、Spring MVC 和 Spring 有什么区别?
1、Spring
Spring最重要的特征是依赖注入 。 所有 SpringModules 不是依赖注入就是 IOC 控制反转 。
当我们恰当的使用 DI 或者是 IOC 的时候 , 我们可以开发松耦合应用 。 松耦合应用的单元测试可以很容易的进行 。
2、Spring MVC
Spring MVC 提供了一种分离式的方法来开发 Web 应用 。 通过运用像 DispatcherServelet , MoudlAndView 和 ViewResolver 等一些简单的概念 , 开发 Web 应用将会变的非常简单 。
3、SpringBoot
Spring 和 SpringMVC 的问题在于需要配置大量的参数 。
公司面试必问的41道 Spring Boot 面试题文章插图
Spring Boot 通过一个自动配置和启动的项来目解决这个问题 。 为了更快的构建产品就绪应用程序 , Spring Boot 提供了一些非功能性特征 。
5 什么是自动配置?
Spring 和 SpringMVC 的问题在于需要配置大量的参数 。
公司面试必问的41道 Spring Boot 面试题文章插图
我们能否带来更多的智能?当一个 MVC JAR 添加到应用程序中的时候 , 我们能否自动配置一些 beans?
Spring 查看(CLASSPATH 上可用的框架)已存在的应用程序的配置 。 在此基础上 , Spring Boot 提供了配置应用程序和框架所需要的基本配置 。 这就是自动配置 。
6 什么是 Spring Boot Stater ?
启动器是一套方便的依赖没描述符 , 它可以放在自己的程序中 。 你可以一站式的获取你所需要的 Spring 和相关技术 , 而不需要依赖描述符的通过示例代码搜索和复制黏贴的负载 。
例如 , 如果你想使用 Sping 和 JPA 访问数据库 , 只需要你的项目包含 spring-boot-starter-data-jpa 依赖项 , 你就可以完美进行 。
7 能否举一个例子来解释更多 Staters 的内容?
让我们来思考一个 Stater 的例子 -Spring Boot Stater Web 。
如果你想开发一个 web 应用程序或者是公开 REST 服务的应用程序 。 Spring Boot Start Web 是首选 。 让我们使用 Spring Initializr 创建一个 Spring Boot Start Web 的快速项目 。
Spring Boot Start Web 的依赖项
公司面试必问的41道 Spring Boot 面试题文章插图
下面的截图是添加进我们应用程序的不同的依赖项
公司面试必问的41道 Spring Boot 面试题文章插图
依赖项可以被分为:

  • Spring - core , beans , context , aop
  • Web MVC - (Spring MVC)
  • Jackson - for JSON Binding
  • Validation - Hibernate,Validation API
  • Enbedded Servlet Container - Tomcat
  • Logging - logback,slf4j
任何经典的 Web 应用程序都会使用所有这些依赖项 。 Spring Boot Starter Web 预先打包了这些依赖项 。