Spring boot 面试题

本文深入探讨SpringBoot的简化配置特性,列举其诸多优势,如独立运行、简化配置、自动配置及简易监控,并介绍核心配置文件及其应用。同时,文章详解多环境配置策略,以及如何保护SpringBoot应用的安全。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

又快到了金三银四的时间了,自己整理一些面试题,希望对大家有帮助。

一、什么是Spring Boot?

简化了使用 Spring 的难度,简省了繁重的配置,提供了各种启动器,开发者能快速上手。

二、Spring Boot 优点有哪些?

  1. 部署简单、独立运行(不需要预部署应用服务器,通过默认内嵌tomcat降低对运行环境的基本要求)
  2. 简化配置(基于properties/xml 文件配置转换成予以更为强大的yml文件)
  3. 自动配置(对常用的功能组件提供了默认的starter依赖来简化Maven配置)
  4. 监控更简单(基于spring-boot-actuator组件,通过restful接口获取Jvm性能指标、线程状态等运行信息)

三、核心配置文件有哪些?区别是什么?

Spring Boot 核心配置文件application和bootstrap

application 主要用于Spring Boot项目的配置。

bootstap:使用Spring Cloud Config 配置中心时,需要在bootstap配置文件中添加连接到配置中心的配置属性来加载外部配置中心的配置信息;例如eurka注册中心等;

四、Spring Boot 配置文件有几种格式?

.properties和.yml,区别主要是书写格式不一样,properties文件都需要写全,yml前面相同的可以不写,一层对应一层就好了。

1.properties

     server: port: 8086

2.yml

     server:
          port: 8086

yml文件的好处,天然的树状结构,一目了然,实质上跟properties是差不多的。

官方给的很多demo,都是用yml文件配置的。

注意点:

1,原有的key,例如spring.jpa.properties.hibernate.dialect,按“.”分割,都变成树状的配置

2,key后面的冒号,后面一定要跟一个空格

3, application.properties优先级比application.yml高

五、Spring Boot怎么读取配置?

Spring Boot 可以通过 @PropertySource,@Value,@Environment, @ConfigurationProperties 来绑定变量,

六、SpringBoot 支持哪些日志框架? 推荐和默认的日志框架是什么?

    支持Logging,Log4j2,Logback作为日志框架,如果使用Starters启动器,Spring Boot将使用LogBack作为默认日志框架

七、如何定义多套不同环境配置?

       提供多套配置文件,例如:

基于properties:

application-dev.properties

application-test.properties

           application-prod.properties    

基于yml:

server:
  port: 8080

my:
  name: demo

spring:
  profiles:
    active: dev

---
#development environment
spring:
  profiles: dev

server:
  port: 8160

my:
  name: ricky

---
#test environment
spring:
  profiles: test

server:
  port: 8180

my:
  name: test

---
#production environment
spring:
  profiles: prod

server:
  port: 8190

my:
  name: prod

指定环境启动

   1.jar运行方式

    java -jar xx.jar --spring.profiles.active=prod

 2.插件启动方式

     spring-boot:run -Drun.profiles=prod

八、保护Spring Boot应用有哪些方法?

            生产环境使用https

 启用csrf保护

使用内容安全策略防止Xss攻击

待续.....

 

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值