SpringBoot经典面试题

SpringBoot经典面试题

  1. 为什么要使用SpringBoot?

    • 独立运行

    • 简化配置

    • 自动配置

    • 无代码生成和xml配置

    • 应用监控

  2. SpringBoot优点

    • 减少开发、测试时间

    • 使用JavaConfig有助于避免使用xml

    • 避免大量的maven导入和各种版本冲突

    • 提供意见发展方法

    • 通过提供默认值快速开发

    • 没有单独的web服务器需要

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

    • 基于环境的配置

  3. SpringBoot的核心注解有哪些?它主要有那几个注解组成?

    1. SpringBootApplication是SpringBoot的核心注解,主要包含以下注解:

      1. @SpringBootConfiguration:组合了@Configuration注解,实现配置文件的功能

      2. @EnableAutoConfiguration:打开自动配置的功能,也可以关闭某个自动配置的选项,如关闭数据源自动配置功能:@SpringBootApplication(exclude={DataSourceAutoConfiguration.class})

      3. @ComponentScan:Spring组件扫描

  4. 运行SpringBoot有哪几种方式?

    1. 打包用命令或者放到容器中运行

    2. 用Maven/Gradle插件

    3. 直接执行main方法(最常用)

  5. SpringBoot中的监视器是什么?

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

  6. 如何shiyongSpringBoot实现异常处理?

    Spring提供了一种使用ControllerAdvice处理异常的非常有用的方法。我们通过实现一个ControllerAdvice类,来处理控制器类抛出的所有异常

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

    1. SpringBoot的核心配置文件是application和bootstrap配置文件

      1. application配置文件很容易理解,主要用于SpringBoot项目的自动化配置

      2. bootstrap配置主要有以下应用场景:

        1. 使用SpringCloudConfig配置中心时,这时需要在bootstrap配置文件中添加连接到配置中心的配置属性来加载外部配置中心的配置信息

        2. 一些固定的不能被覆盖的属性

        3. 一些加解密场景

  8. 什么是JavaConfig?

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

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

      2. 减少或者消除xml配置。基于依赖注入原则的外化配置的好处已经被证明。但是大家都不希望在xml和java之间来回切换。javaConfig为开发人员提供了一种纯java方法来配置与xml配置相似的Spring容器。从技术角度来说是完全可行的,但是实际上很多人认为javaConfig和xml混合匹配是比较理想的

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

  9. 什么是Spring Batch?

    Spring Boot Batch提供可重用函数。这些函数在处理大量记录时非常重要,包括日志/跟踪、事务管理、作业处理信息统计、作业重新启动、跳过和资源管理。它还提供了更先进的技术服务和功能,通过优化和分区技术,可以实现极高批量和高性能批处理作业,简单以及复杂的大批量批处理作业可以高度可扩展的方式利用框架处理大量重要信息

  10. 什么是FreeMarker模板?

    FreeMarker是一个基于java的模板引擎,最初专注于使用MVC软件架构进行动态网页生成。使用FreeMarker的主要优点是表示层和业务层完全分离。开发人员可以处理程序应用代码,而涉及人员可以处理html页面设计。最后使用FreeMarker可以将这些结合起来,给出最终的输出页面

     

     

     

     

     

     

     

     

  11.  

原文地址:https://www.cnblogs.com/juddy/p/14371342.html