SpringBoot面试个人总结
什么是SpringBoot?有哪些优点?
SpringBoot是Spring开源组织下的子项目,是Spring组件一站式解决方案,主要简化了使用Spring的难度,简化了繁重的配置,提供了各种启动器,开发者能快速上手。
SpringBoot有如下优点:
- 容易上手,提升开发效率
- 开箱即用,不需要XML配置,远离繁琐的配置
- 提供了大型项目的通用服务,如内嵌服务器、安全管理、数据监控等
- 避免大量的Maven导入和各种版本冲突
SpringBoot的和核心注解是哪个?它由哪几个注解组成?
@SpringBootAplication它是SpringBoot的核心注解,主要组合包含以下三个注解:
- @SpringBootConfiguration:组合了@Configuration注解,实现配置文件功能
- @EnableAutoConfiguration:实现了自动配置功能
- @ComponentScan:Spring组件扫描
什么是 JavaConfig?
JavaConfig它提供了配置Spring IOC容器的纯Java的方案。JavaConfig有如下优点:
- 面向对象的配置。由于配置被定义为JavaConfig中的类,因此用户可以充分利用Java中的面向对象的功能
- 减少或消除XML配置
Spring Boot 配置加载顺序?
- properties文件
- yaml文件
- 系统环境变量
- 命令行参数
等等…
什么是 YAML?
YAML 是一种人类可读的数据序列化语言。它相比于传统的properties文件有如下优点:
- yaml结构清晰,数据分层有序
- 支持数组,数组中的元素可以是基本数据类型也可以是对象
Spring Boot 是否可以使用 XML 配置 ?
Spring Boot 推荐使用 Java 配置而非 XML 配置,但是 Spring Boot 中也可以使用 XML 配置,通过 @ImportResource 注解可以引入一个 XML 配置。
bootstrap.properties 和 application.properties 有何区别 ?
单纯使用SpringBoot做项目开发,很难会遇到bootstrap.properties配置文件,但如果结合SpringCloud做分布式配置中心的话就需要用到这个bootstrap.properties文件
- bootstrap:由父ApplicationContext加载,比application优先加载。一般来说我们在使用SpringCloudConfig或者Nacos中会用到它。且bootstrap里的属性不能被覆盖
- application:由application加载,用于SpringBoot项目的自动化配置
Spring Boot 中如何解决跨域问题 ?
一般可以自定义一个配置类并实现WebMvcConfigurer接口,然后重写它的addCorsMappings方法进行配置
@Configuration
public class CorsConfig implements WebMvcConfigurer {
@Override
public void addCorsMappings(CorsRegistry registry) {
registry.addMapping("/**")
.allowedOrigins("*")
.allowCredentials(true)
.allowedMethods("GET", "POST", "PUT", "DELETE", "OPTIONS")
.maxAge(3600);
}
}
运行 Spring Boot 有哪几种方式?
- 打成jar包,使用
java -jar xxx.jar
命令直接运行 - 使用maven插件运行
- 直接执行main方法
如果有错误还希望各位朋友帮忙提出 ! ! ! !
上一篇: springboot总结
下一篇: day06课堂笔记