2022年java基础框架SpringBoot常见面试题

一、为什么要用SpringBoot

1、独立运行 Spring Boot而且内嵌了各种servlet容器,Tomcat、Jetty等,现在不再需要打成war包部署到容器 中,Spring Boot只要打成一个可执行的jar包就能独立运行,所有的依赖包都在一个jar包内。 2、简化配置 spring-boot-starter-web启动器自动依赖其他组件,简少了maven的配置。

3、自动配置 Spring Boot能根据当前类路径下的类、jar包来自动配置bean,如添加一个spring-bootstarter和web启动器就能拥有web的功能,无需其他配置。 4、无代码生成和XML配置 Spring Boot配置过程中无代码生成,也无需XML配置文件就能完成所有配置工作,这一切都是借助 于条件注解完成的,这也是Spring4.x的核心功能之一。 5、应用监控 Spring Boot提供一系列端点可以监控服务及应用,做健康检测。

二、Spring Boot 有哪些优点?

1、减少开发,测试时间和努力。 2、使用 JavaConfig 有助于避免使用 XML。 3、避免大量的 Maven 导入和各种版本冲突。 4、提供意见发展方法。 5、通过提供默认值快速开始开发。 6、没有单独的 Web 服务器需要。这意味着你不再需要启动 Tomcat,Glassfish 或其他任何东西。 7、需要更少的配置 因为没有 web.xml 文件。只需添加用@ Configuration 注释 的类,然后添加用@Bean 注释的方法,Spring 将自动加载对象并像以前一样对其 进行管理。您甚至可以将@Autowired 添加到 bean 方法中,以使 Spring 自动装 入需要的依赖关系中。

三、Spring Boot 的核心注解是哪个?它主要由哪几个注解组成 的? 启动类上面的注解是@SpringBootApplication,它也是 Spring Boot 的核心注解,主要组合包含了 以下 3 个注解: 1、@SpringBootConfiguration:组合了 @Configuration 注解,实现配置文件的功能。 2、@EnableAutoConfiguration:打开自动配置的功能,也可以关闭某个自动配置的选项,如关闭数 据源自动配置功能: @SpringBootApplication(exclude = { DataSourceAutoConfiguration.class })。 3、@ComponentScan:Spring组件扫描。

四、运行Spring Boot有哪几种方式? 1、打包用命令或者放到容器中运行 2、用 Maven/Gradle 插件运行 3、直接执行 main 方法运行

五、如何在自定义端口上运行 Spring Boot 应用程序? 为了在自定义端口上运行 Spring Boot 应用程序,可以在 application.properties 中指定端口。

server.port = 8090

六、什么是 YAML? YAML 是一种人类可读的数据序列化语言。它通常用于配置文件。 与属性文件相比,如果我们想要在配置文件中添加复杂的属性,YAML 文件就更加 结构化,而且更少混淆。可以看出 YAML 具有分层配置数据。

七、如何理解 Spring Boot 中的 Starters?

Starters是什么: Starters可以理解为启动器,它包含了一系列可以集成到应用里面的依赖包,你可以一站式集成 Spring及其他技术,而不需要到处找示例代码和依赖包。如你想使用Spring JPA访问数据库,只要 加入spring-boot-starter-data-jpa启动器依赖就能使用了。Starters包含了许多项目中需要用到的 依赖,它们能快速持续的运行,都是一系列得到支持的管理传递性依赖。 Starters命名: Spring Boot官方的启动器都是以spring-boot-starter-命名的,代表了一个特定的应用类型。第三 方的启动器不能以spring-boot开头命名,它们都被Spring Boot官方保留。一般一个第三方的应该 这样命名,像mybatis的mybatis-spring-boot-starter。 Starters分类:

1. Spring Boot应用类启动器

2. Spring Boot生产启动器

八、 Spring Boot 需要独立的容器运行吗?

可以不需要,内置了 Tomcat/ Jetty 等容器。

九、什么是 Swagger?你用 Spring Boot 实现了它吗? Swagger 广泛用于可视化 API,使用 Swagger UI 为前端开发人员提供在线沙箱。 Swagger 是用于生成 RESTful Web 服务的可视化表示的工具,规范和完整框架实 现。它使文档能够以与服务器相同的速度更新。当通过 Swagger 正确定义时,消 费者可以使用最少量的实现逻辑来理解远程服务并与其进行交互。因此,Swagger 消除了调用服务时的猜测。

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

十一、 springboot常用的starter有哪些 spring-boot-starter-web 嵌入tomcat和web开发需要servlet与jsp支持 spring-boot-starter-data-jpa 数据库支持 spring-boot-starter-data-redis redis数据库支持 spring-boot-starter-data-solr solr支持 mybatis-spring-boot-starter 第三方的mybatis集成starter

十二、 SpringBoot 实现热部署有哪几种方式? 主要有两种方式: Spring Loaded Spring-boot-devtools

  • 1
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值