Java经典面试题汇总:Spring Boot

 更新时间:2021年07月21日 11:39:20   作者:让程序飞  
本篇总结的是Spring-Boot框架相关的面试题,后续会持续更新,希望我的分享可以帮助到正在备战面试的实习生或者已经工作的同行,如果发现错误还望大家多多包涵,不吝赐教,谢谢

1. 什么是 Spring Boot?

Spring Boot 是为 Spring 服务的,是用来简化新 Spring 应用的初始搭建以及开发过程的。

2. 为什么要用 Spring Boot? 

  • 配置简单
  • 独立运行
  • 自动装配
  • 无代码生成和 xml 配置
  • 提供应用监控
  • 易上手
  • 提升开发效率

3. Spring Boot 核心配置文件是什么?

  •  spring boot 核心的两个配置文件: bootstrap (. yml 或者 . properties):boostrap 由父 ApplicationContext 加载的,比 applicaton 优先加载,且 boostrap 里面的属性不能被覆盖;
  • application (. yml 或者 . properties):用于 spring boot 项目的自动化配置。

4. Spring Boot 提供了哪些常用的 Starter Project Options?

  • spring-boot-starter:核心 starter,包括自动化配置支持,日志以及 YAMLspring-boot-starter-aop:
  • Spring AOP 和 AspectJ 相关的切面编程
  • starterspring-boot-starter-data-jpa:使用 Hibernate Spring Data JPA 的 starterrspring-boot-starter-jdbc:使用 HikariCP 连接池 JDBC 的 starter
  • spring-boot-starter-security:使用 Spring Security 的 starter
  • spring-boot-starter-test:SpringBoot 测试相关的 starter
  • spring-boot-starter-web:构建 restful、springMVC 的 web应用程序的 starter

5. 如何快速构建一个Spring Boot项目?

Spring-initializr

Aliyun Java initializr

6. Spring Boot默认的内置Web服务器是什么?

Tomcat

7. Spring Boot常用注解及其作用? 

  • @SpringBootApplication: 这个注解是Spring Boot最核心的注解,用在 Spring Boot的主类上,标识这是一个 Spring Boot 应用,用来开启 Spring Boot 的各项能力。实际上这个注解是@Configuration,@EnableAutoConfiguration,@ComponentScan三个注解的组合。由于这些注解一般都是一起使用,所以Spring Boot提供了一个统一的注解@SpringBootApplication。
  • @EnableAutoConfiguration: 允许 Spring Boot 自动配置注解,开启这个注解之后,Spring Boot 就能根据当前类路径下的包或者类来配置 Spring Bean。
  • @ConfigurationProperties: 通过它可以把properties或者yml配置中的属性直接转成对象(从springboot的标准配置文件yml/properties中读取属性赋值给对象
  • @EnableConfigurationProperties: 使用到 @ConfigurationProperties 注解的类生效。
  • @SpringBootConfiguration: 继承自@Configuration,二者功能也一致,标注当前类是配置类,并会将当前类内声明的一个或多个以@Bean注解标记的方法的实例纳入到spring容器中,并且实例名就是方法名。

8. 如何使用配置文件通过 Spring Boot 配置特定环境的配置?

在application.properties配置文件中添加:spring.profiles.active = dev,并且添加application-dev.properties文件 ,多个环境以此类推添加application-prod.properties,并且修改active对应的值。

总结

本篇文章就到这里了,希望能给你带来帮助,也希望您能够多多关注脚本之家的更多内容!

相关文章

  • java实现cassandra高级操作之分页实例(有项目具体需求)

    java实现cassandra高级操作之分页实例(有项目具体需求)

    这篇文章主要介绍了java实现cassandra高级操作之分页实例(有项目具体需求),具有一定的参考价值,感兴趣的小伙伴们可以参考一下。
    2017-04-04
  • Java中的CyclicBarrier循环栅栏深入解析

    Java中的CyclicBarrier循环栅栏深入解析

    这篇文章主要介绍了Java中的CyclicBarrier循环栅栏深入解析,CycleBarrier 它就相当于是一个栅栏,所有线程在到达栅栏后都需要等待其他线程,等所有线程都到达后,再一起通过,需要的朋友可以参考下
    2023-12-12
  • Maven插件的安装及使用

    Maven插件的安装及使用

    这篇文章主要介绍了Maven插件的安装及使用,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2020-09-09
  • SpringBoot概述及在idea中创建方式

    SpringBoot概述及在idea中创建方式

    SpringBoot提供了一种快速使用Spring的方式,基于约定大于配置的思想,可以让开发人员不必在配置与逻辑业务之间进行思维的切换,这篇文章主要介绍了SpringBoot概述及在idea中创建方式,需要的朋友可以参考下
    2022-09-09
  • SpringBoot启动报错Failed to determine a suitable driver class

    SpringBoot启动报错Failed to determine a suitable driver class

    这篇文章主要介绍了SpringBoot启动报错Failed to determine a suitable driver class,小编觉得挺不错的,现在分享给大家,也给大家做个参考。一起跟随小编过来看看吧
    2019-05-05
  • 详解Java中缀表达式的实现

    详解Java中缀表达式的实现

    中缀表达式是一个通用的算术或逻辑公式表示方法。,中缀表达式不容易被计算机解析,但仍被许多程序语言使用,因为它符合人们的普遍用法。本文介绍了实现中缀表达式的方法,需要的可以参考一下
    2022-07-07
  • Java线程生命周期及转换过程

    Java线程生命周期及转换过程

    这篇文章主要介绍了Java线程生命周期及转换过程,线程的生命周期指的是线程从创建到销毁的整个过程初始状态、可运行状态、运行状态、休眠状态、终止状态,更多详细介绍,需要的小伙伴可以参考下面文章内容
    2022-05-05
  • Java map为什么不能遍历的同时进行增删操作

    Java map为什么不能遍历的同时进行增删操作

    这篇文章主要介绍了Java map为什么不能遍历的同时进行增删操作,文章围绕主题展开详细的内容介绍,具有一定的参考价值,需要的小伙伴可以参考一下
    2022-07-07
  • 详解MyBatis-Plus Wrapper条件构造器查询大全

    详解MyBatis-Plus Wrapper条件构造器查询大全

    这篇文章主要介绍了详解MyBatis-Plus Wrapper条件构造器查询大全,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2020-08-08
  • MyBatis查询时属性名和字段名不一致问题的解决方法

    MyBatis查询时属性名和字段名不一致问题的解决方法

    这篇文章主要给大家介绍了关于MyBatis查询时属性名和字段名不一致问题的解决方法,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2021-01-01

最新评论