面试题--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全栈知识,希望能够和大家共同进步。

相关推荐
糖果店的幽灵10 分钟前
Spring AI 从入门到精通-Prompt 工程
java·spring·prompt
小江的记录本12 分钟前
【Spring全家桶】Spring Cloud 2023.0.x:配置中心:Nacos Config、Apollo(附《思维导图》+《面试高频考点清单》)
java·spring boot·后端·python·spring·spring cloud·面试
IT_陈寒14 分钟前
Redis的LRU淘汰策略坑了我一天血汗
前端·人工智能·后端
huipeng92620 分钟前
企业级微服务开发实战(三):公共模块设计与统一规范封装
java·spring boot·spring cloud·微服务·架构·系统架构·php
我登哥MVP25 分钟前
Spring Boot 从“会用”到“精通”:参数绑定体系全景
java·spring boot·spring·servlet·maven·intellij-idea·mybatis
糖果店的幽灵1 小时前
Spring AI 从入门到精通-ChatClient你与 AI 对话的终极武器
人工智能·python·spring
唐青枫1 小时前
Java MyBatis-Plus 实战指南:用 BaseMapper、Wrapper 和分页写好数据层
java·mybatis
wang090710 小时前
自己动手写一个spring之系列
spring
jeffer_liu10 小时前
Spring AI 生产级实战:裁判员
java·人工智能·后端·spring·大模型
金銀銅鐵11 小时前
用 Tkinter 实现简单的猜数字游戏
后端·python