Java经典面试题汇总:Spring Boot

 更新时间:2021年7月21日 15:00  
本篇总结的是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 [email protected],@EnableAutoConfiguration,@ComponentScan三个注解的组合。由于这些注解一般都是一起使用,所以Spring [email protected]
  • @EnableAutoConfiguration: 允许 Spring Boot 自动配置注解,开启这个注解之后,Spring Boot 就能根据当前类路径下的包或者类来配置 Spring Bean。
  • @ConfigurationProperties: 通过它可以把properties或者yml配置中的属性直接转成对象(从springboot的标准配置文件yml/properties中读取属性赋值给对象
  • @EnableConfigurationProperties: 使用到 @ConfigurationProperties 注解的类生效。
  • @SpringBootConfiguration[email protected],二者功能也一致,标注当前类是配置类,[email protected]的方法的实例纳入到spring容器中,并且实例名就是方法名。

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

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

总结

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

相关文章

  • 五分钟解锁springboot admin监控新技巧

    本文不会讲如何搭建企业的运维监控系统,有兴趣的可以去找找成熟的比如Zabbix、Prometheus,甚至比较简单的Wgcloud都能满足一定的需求,不在此赘述。本文讲解如何使用Springboot admin对spring boot项目进行应用监控,感兴趣的朋友一起看看吧...2021-06-20
  • Java 函数式编程要点总结

    函数式编程并不是Java新提出的概念,其与指令编程相比,强调函数的计算比指令的计算更重要;与过程化编程相比,其中函数的计算可以随时调用。Java8新引入函数式编程方式,大大的提高了编码效率。本文将对涉及的对象等进行统一的学习及记录。...2021-06-18
  • Java数据结构之哈夫曼树概述及实现

    文中详细讲了关于Java哈夫曼树的概述以及用Java实现的方法,对各位正在学习java数据结构的小伙伴们有很大的帮助哟,需要的朋友可以参考下...2021-05-14
  • Java基础之内存泄漏与溢出详解

    今天带大家来了解一下Java内存泄漏与溢出的知识,文中有非常详细的介绍,对正在学习Java基础的各位小伙伴呢很有帮助哟,需要的朋友可以参考下...2021-05-15
  • spring中向一个单例bean中注入非单例bean的方法详解

    Spring是先将Bean对象实例化之后,再设置对象属性,所以会先调用他的无参构造函数实例化,每个对象存在一个map中,当遇到依赖,就去map中调用对应的单例对象,这篇文章主要给大家介绍了关于spring中向一个单例bean中注入非单例bean的相关资料,需要的朋友可以参考下...2021-07-19
  • Spring Boot如何通过java -jar启动

    大家开发的基于Spring Boot 的应用 ,jar形式, 发布的时候,绝大部分都是使用java -jar 启动。本文主要介绍了Spring Boot如何通过java -jar启动,一起来了解一下...2021-05-24
  • Java Springboot之Spring家族的技术体系

    今天带大家来学习Spring家族的技术体系,文中有非常详细的图文介绍及代码示例,对正在学习java的小伙伴们很有帮助,需要的朋友可以参考下...2021-05-22
  • java进阶之了解SpringBoot的配置原理

    今天带大家了解SpringBoot的相关知识,文中对SpringBoot的配置原理作了非常详细的图文示例及介绍,需要的朋友可以参考下...2021-06-04
  • 新手初学Java流程控制

    这篇文章主要介绍了JAVA流程控制语句的的相关资料,文中讲解非常细致,代码帮助大家更好的理解和学习,感兴趣的朋友可以了解下,希望可以帮到你...2021-07-07
  • Java实现聊天机器人

    这篇文章主要为大家详细介绍了Java简单实现聊天机器人,文中示例代码介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们可以参考一下...2021-07-04
  • springboot整合freemarker代码自动生成器

    最近做了一个工具,可以实现代码自动生成,今天整理出来分享给大家,需要的朋友们下面随着小编来一起学习学习吧...2021-05-27
  • Java 数组内置函数toArray详解

    这篇文章主要介绍了Java 数组内置函数toArray详解,文本详细的讲解了toArray底层的代码和文档,需要的朋友可以参考下...2021-06-29
  • Spring Boot 启动、停止、重启、状态脚本

    今天给大家分享Spring Boot 项目脚本(启动、停止、重启、状态),通过示例代码给大家介绍的非常详细,需要的朋友参考下吧...2021-06-26
  • Java中的封装、继承和多态,你真的都懂了吗

    Java中的封装、继承和多态知识点是学习java必备的基础知识,看似简单,真正理解起来还是有一定难度的,今天小编再次通过实例代码给大家讲解java 封装继承多态知识,感兴趣的朋友一起学习下吧...2021-05-30
  • java代码实现C盘文件统计工具

    今天周末,给大家分享基于java代码实现C盘文件统计工具,在这小编使用的版本是Maven-3.9.9,jdk1.8,代码简单易懂,对大家的学习或工作具有一定的参考借鉴价值,需要的朋友参考下吧...2021-07-12
  • Springboot入门案例及部署项目的详细过程

    Spring Boot是由Pivotal团队提供的全新框架,其设计目的是用来简化新Spring应用的初始搭建以及开发过程,本文给大家分享一个入门案例使用Springboot1.5.9搭建,具体配置部署过程跟随小编一起看看吧...2021-07-12
  • 看完这篇文章获得一些java if优化技巧

    if 是每个语言都有的语法,也是最基础的语法。因为代码本来就很晦涩,所以才有了程序员这个中间件,今天就聊一下我的一些关于 if 思路和总结...2021-07-15
  • JavaWeb入门:HttpResponse和HttpRequest详解

    这篇文章主要介绍了Django的HttpRequest和HttpResponse对象,分享了相关代码示例,小编觉得还是挺不错的,具有一定借鉴价值,需要的朋友可以参考下...2021-07-17
  • Java并发编程之详解CyclicBarrier线程同步

    在之前的文章中已经为大家介绍了java并发编程的工具:BlockingQueue接口,ArrayBlockingQueue,DelayQueue,LinkedBlockingQueue,PriorityBlockingQueue,SynchronousQueue,BlockingDeque接口,ConcurrentHashMap,CountDownLatch,本文为系列文章第十篇,需要的朋友可以参考下...2021-06-23
  • 解决springboot利用ConfigurationProperties注解配置数据源无法读取配置信息问题

    今天在学习springboot利用ConfigurationProperties注解配置数据源的使用遇到一个问题无法读取配置信息,发现全部为null,纠结是哪里出了问题呢,今天一番思考,问题根源找到,下面把我的解决方案分享到脚本之家平台,感兴趣的朋友一起看看吧...2021-05-30