Java面试之springboot常见面试题

1. 什么是Spring Boot?

Spring Boot是一个开源的Java框架,旨在简化Spring应用的初始搭建以及开发过程。它通过提供默认配置和自动配置等功能,使开发者能够快速搭建Spring应用,并专注于业务功能的开发,而无需过多关注配置和底层细节。

2. Spring Boot有哪些优势?

简化配置:通过约定大于配置的方式,Spring Boot提供了大量的默认配置,减少了开发者手动配置的工作量。
快速开发:内置了众多实用的starter,可以快速添加所需的依赖,使开发过程更加迅速。
内嵌服务器:无需额外配置和部署Web服务器,Spring Boot内置了Tomcat、Jetty等服务器,可以直接运行应用。
监控和管理:提供了Actuator模块,可以方便地监控和管理应用的运行状态。
云部署支持:Spring Boot天生为云而生,可以与多种云服务进行集成,方便地进行云部署和云管理。

3. 什么是JavaConfig?

JavaConfig是Spring社区提供的一种使用纯Java代码来配置Spring IoC容器的方式。它避免了使用XML配置文件,使得配置更加简洁、直观和易于维护。JavaConfig通过注解和Java类来定义Bean的创建和依赖注入关系,实现了与XML配置相同的功能。

4. Spring Boot的自动配置是如何实现的?

Spring Boot的自动配置主要依赖于@EnableAutoConfiguration注解和spring.factories文件。当Spring Boot启动时,@EnableAutoConfiguration注解会触发自动配置过程。Spring Boot会读取META-INF/spring.factories文件中的配置信息,并根据这些信息加载并注册自动配置类。每个自动配置类都会根据条件注解(如@ConditionalOnClass、@ConditionalOnProperty等)来判断是否满足自动配置的条件,如果满足则进行自动配置。

5. Spring Boot支持哪些配置文件的格式?默认使用哪种?

Spring Boot支持properties和yml(或yaml)两种格式的配置文件。默认情况下,Spring Boot会按照以下顺序加载配置文件(优先级从高到低):

1、命令行参数
2、来自java:comp/env的JNDI属性
3、Java系统属性(System.getProperties())
4、操作系统环境变量
5、random.*属性源,用于注入随机值(仅用于random属性)
6、应用外部的application.properties或application.yml文件(位于spring.config.location指定的目录)
7、应用内部的application.properties或application.yml文件(位于类路径的根目录或config子目录)
8、在@Configuration类上使用@PropertySource注解指定的属性源
9、默认属性(使用SpringApplication.setDefaultProperties指定)

其中,application.properties和application.yml是最常用的配置文件格式。在默认情况下,如果同时存在application.properties和application.yml文件,Spring Boot会优先加载application.properties文件。但是,如果application.yml文件的命名更加具体(如application-dev.yml),则可以通过激活不同的配置文件来加载不同的配置。

  • 25
    点赞
  • 9
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

DKPT

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值