springboot面试题

本文详细介绍了Spring Boot的核心概念,包括其作为Spring的简化版本的角色,关键注解的解释,如@SpringBootApplication,以及Starter的用途。此外,还探讨了Spring Boot的热部署机制,包括devtools和Spring Loaded的使用。最后,讨论了如何根据不同的环境(dev,test,prod)定义和切换配置文件。

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

目录

1、什么是springboot

2、核心注解

3、Spring Boot 中的 Starter

4、SpringBoot 实现热部署

5、Spring Boot 如何定义多套不同环境配置


1、什么是springboot

Spring Boot是Spring开源组织下的子项目,是Spring组件一站式解决方案,主要是简化了使用Spring的难度,简省了繁重的配置,提供了各种启动器,开发者能快速上手

2、核心注解

@SpringbootApplication,它是个组合注解,其中有三个重要的注解

  • @SpringbootConfiguration:核心注解就是@Configuration,标注当前类是个配置类
  • @EnableAutoConfiguration:Springboot根据你添加的jar包来配置你项目的默认配置,比如根据spring-boot-starter-web ,来判断你的项目是否需要添加了webmvc和tomcat,就会自动的帮你配置web项目中所需要的默认配置
  • @ComponentScan:配置扫描包,默认扫描@SpringBootApplication所在类的同级包以及下级所有的包

3、Spring Boot 中的 Starter

Starters可以理解为启动器,它包含了一系列可以集成到应用里面的依赖包,你可以一站式集成 Spring 及其他技术,而不需要到处找示例代码和依赖包。如你想使用 Spring JPA 访问数据库,只要加入 spring-boot-starter-data-jpa 启动器依赖就能使用了

4、SpringBoot 实现热部署

热部署就是当应用程序正在运行的时候升级软件或修改某一部分代码、配置文件时,无需重新启动应用,即可使升级的软件和修改后的代码、配置文件生效

主要有两种方式

(1)spring-boot-devtools依赖

第一步:在pom中添加依赖

第二步:修改配置

 第三步:修改开发软件的配置

(2)Spring Loaded

第一步:在maven中添加依赖

<dependency>
    <groupId>org.springframework</groupId>
    <artifactId>springloaded</artifactId>
    <version>1.2.4.RELEASE</version>
</dependency>

第二步: 

修改run参数里的VM值为:

-javaagent:.\lib\springloaded-1.2.4.RELEASE.jar -noverify

 注意:

devtools的方式实现的功能其实是快速重启,加上自动编译就能实现所谓的”热部署“了

5、Spring Boot 如何定义多套不同环境配置

Profile:Spring Boot可以对不同环境或者指令来读取不同的配置文件

(1)基于properties文件类型

你可以另外建立3个环境下的配置文件:

applcation.properties

application-dev.properties

application-test.properties

application-prod.properties

然后在applcation.properties文件中指定当前的环境spring.profiles.active=test,这时候读取的就是application-test.properties文件

(2)基于yml文件类型

只需要一个applcation.yml文件就能搞定,推荐此方式

此时读取的就是prod的配置,prod包含proddb,prodmq,此时可以读取proddb,prodmq下的配置。

也可以同时激活三个配置。

spring.profiles.active: prod,proddb,prodmq

 (3)基于Java代码@Profile

在JAVA配置代码中也可以加不同Profile下定义不同的配置文件,@Profile注解只能组合使用@Configuration和@Component注解

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值