面试题--SpringBoot

SpringBoot

SpringBoot 是什么(了解)

是 Spring 的子项目,主要简化 Spring 开发难度,去掉了繁重配置,提供各种启动器,可以 让程序员很快上手,节省开发时间.

SpringBoot 的优点(必会)

SpringBoot 对上述 Spring 的缺点进行的改善和优化,基于约定优于配置的思想,可 以让开发人员不必在配置与逻辑业务之间进行思维的切换,全身心的投入到逻辑业务的代码 编写中,从而大大提高了开发的效率,一定程度上缩短了项目周期。 版本锁定:解决是 maven 依赖版本容易冲突的问题,集合了常用的并且测试过的所有版本 使用了 Starter(启动器)管理依赖并能对版本进行集中控制,如下的父工程带有版本号, 就是对版本进行了集中控制. org.springframework.boot spring-boot-starter-parent 2.0.0.RELEASE 起步依赖 :解决了完成某一个功能要整合的 jar 包过多的问题,集合了常用的 jar 包 自动配置:解决了整合框架或者技术的配置文件过多,集合了所有的约定的默认配置 内置 Tomcat:通过内置的 tomcat,无需再用其他外置的 Tomcat 就直接可以运行 javaEE 程序 总之:人们把 Spring Boot 称为搭建程序的脚手架。其最主要作用就是帮我们快速的构建 庞大的 spring 项目,并且尽可能的减少一切 xml 配置,做到开箱即用,迅速上手,让我们 关注与业务而非配置。

运行 SpringBoot 项目的方式(必会)

 可以打包  可以使用 Maven 插件直接运行.  直接运行 main 方法.

SpringBoot 的启动器 starter(必会)

(1)什么是 starter?

starter 启动器,可以通过启动器集成其他的技术,比如说: web, mybatis, redis 等等.可 以提供对应技术的开发和运行环境. 比如: pom 中引入 spring-boot-starter-web, 就可以进行 web 开发.

(2)starter 执行原理?

 SpringBoot 在启动时候会去扫描 jar 包中的一个名为 spring.factories.  根据文件中的配置,去加载自动配置类. 配置文件格式是 key=value, value 中配置了很 多需要 Spring 加载的类.  Spring 会去加载这些自动配置类, Spring 读取后,就会创建这些类的对象,放到 Spring 容器中.后期就会从 Spring 容器中获取这些类对象. (3)SpringBoot 中常用的启动器  spring-boot-starter-web, 提供 web 技术支持  spring-boot-starter-test  spring-boot-starter-jdbc  spring-boot-starter-jpa  spring-boot-starter-redis...等等

SpringBoot 运行原理剖析(必会)

SpringApplication 类作用及 run()方法作用  SpringApplication 这个类整合了其他框架的启动类, 只要运行这一个类,所有的整合 就都完成了.  调 用 run 函 数 , 将 当 前 启 动 类 的 字 节 码 传 入 ( 主 要 目 的 是 传 入 @SpringBootApplication 这个注解), 以及 main 函数的 args 参数.  通过获取当前启动类的核心信息, 创建 IOC 容器.

写在最后:SpringBoot是常用的后端框架,面试也是考察重点。笔者小,中,大厂均有面试经历,每日分享Java全栈知识,希望能够和大家共同进步。

相关推荐
喵个咪2 分钟前
go-wind-cms 微服务架构设计:为什么基于 Kratos?
后端·微服务·cms
神奇小汤圆8 分钟前
百度面试官:Redis 内存满了怎么办?你有想过吗?
后端
喵个咪9 分钟前
Headless 架构优势:内容与展示解耦,一套 API 打通全端生态
前端·后端·cms
开心就好202511 分钟前
HTTPS超文本传输安全协议全面解析与工作原理
后端·ios
小江的记录本13 分钟前
【JEECG Boot】 JEECG Boot——数据字典管理 系统性知识体系全解析
java·前端·spring boot·后端·spring·spring cloud·mybatis
神奇小汤圆14 分钟前
Spring Batch实战
后端
喵个咪16 分钟前
传统 CMS 太笨重?试试 Headless 架构的 GoWind,轻量又强大
前端·后端·cms
程序员木圭18 分钟前
07-数组入门必看!Java数组的内存分析02
java·后端
喵个咪30 分钟前
Go 语言 CMS 横评:风行 GoWind 对比传统 PHP/Java CMS 核心优势
前端·后端·cms
面向Google编程32 分钟前
从零学习Kafka:位移与高水位
大数据·后端·kafka