SpringBoot面试总结「建议收藏」

SpringBoot面试总结「建议收藏」SpringBoot面试总结一.SpringBoot是什么?Springboot是一个脚手架(而非框架),构建于Spring框架(Framework)基础之上,基于快速构建理念,提供了自动配置功能,可实现其开箱即用特性(创建完一个基本的项目以后,可零配置或者少量配置即可运行我们的项目)。2.SpringBoot的核心特性是什么?起步依赖自动配置健康检查3.SpringBoot项目启动原理?SpringBoot项目在启动时,首先基于启动入口类上的注解描述,进行自动配置并扫描启动类所在

大家好,又见面了,我是你们的朋友全栈君。

一.SpringBoot入门

1. SpringBoot是什么?

Spring boot是一个脚手架(而非框架),构建于Spring框架(Framework)基础之上,基于快速构建理念,提供了自动配置功能,可实现其开箱即用特性(创建完一个基本的项目以后,可零配置或者少量配置即可运行我们的项目)。

2. SpringBoot的核心特性是什么?

起步依赖
自动配置
健康检查

3.SpringBoot项目启动原理?

在这里插入图片描述
SpringBoot 项目在启动时,首先基于启动入口类上的注解描述,进行自动配置并扫描启动类所在包以及子包中的类进行加载,然后检测类上是否有Spring框架中指定的注解描述(例如@Component,@Controller,@Service等)。假如有,则将类交给Spring框架中的BeanFactory工厂接口的实现类对象,此工厂对象会基于反射创建Bean的实例。

4.说说Spring框架管理Bean对象有什么优势吗?(面试)

Spring 是一个资源整合框架(Framework),通过spring可将很多资源(自己写的对象或第三方提供的对象,例如连接池等)整合在一起,然后进行科学应用,以便更好的对外提供服务。
Spring框架可以为由它管理的对象(Bean)提供懒加载策略(对象暂时用不到,则无需加载和实例化),作用域(例如singleton-频繁用时可以考虑内存中只有一份,prototype-使用次数少时可以用时创建,不用时销毁),生命周期方法(更好实现对象的初始化和资源销毁),以实现对象对系统资源的有效使用。

5.重难点分析

1.Spring boot 是什么?

脚手架而非框架,也可以看成是框架脚手架,做了架子工要做的事情-搭建项目基础骨架的工作人员

2.Spring boot 核心优势?(启动依赖,自动配置-开箱即用,健康检查-系统监控)

3.Spring boot 项目的创建方式?

https://start.spring.io

4.Spring boot项目启动时,Bean的初始化过程是怎样的?

查找,加载,读和存储配置,创建和存储实例对象

5.Spring boot 项目启动时,Bean对象的依赖注入过程是怎样的?

标记,查找,注入

6.Spring 框架中的Bean对象有什么特性?

延迟加载,作用域,生命周期方法

7.Spring 框架中单例(singleton)作用域对象特点,应用场景?

频繁使用的大对象

8.Spring 框架中多例(prototype)作用域对象特点,应用场景?

使用很少的小对象

6.开发中遇到的问题

创建spring starter 项目时pom.xml文件错误?问题分析:

在这里插入图片描述

1)检查网络配置(是否网络畅通,不能手机网络)
2)检测maven配置是否正确(严格按文档配置执行)。
3)右键项目maven update 强制更新。
4)更换maven私服仓库(选文档中的)

二.SpringBoot基础

1.SpringBoot整合连接池

实际开发中应用程序与数据库交互时,“获得连接”或“释放资源”是非常消耗系统资源的两个过程,为了解决此类性能问题,通常情况我们采用连接池技术来重用连接Connection对象,如图下图所示:
在这里插入图片描述
Java为数据库连接池提供了公共的接口:javax.sql.DataSource,各个厂商需要让自己的连接池实现这个接口。然后我们的应用程序中耦合与这个接口,便可以方便的切换不同厂商的连接池,常见的连接池有DBCP、C3P0,DRUID,HikariCP等。
通过连接池获取连接的一个基本过程,如图下图所示:在这里插入图片描述
在上图中,用户通过DataSource对象的getConnection()方法,获取一个连接。假如池中有连接,则直接将连接返回给用户。假如池中没有连接,则会调用Dirver(驱动,由数据库厂商进行实现)对象的connect方法从数据库获取,拿到连接以后,可以将连接在池中放一份,然后将连接返回给调用方。

2. Spring Boot 整合MyBatis框架

2.1 概述

Mybatis是一个优秀的持久层框架,底层基于JDBC实现与数据库的交互。并在JDBC操作的基础上做了封装和优化,它借助灵活的SQL定制,参数及结果集的映射方式,更好的适应了当前互联网技术的发展。
在这里插入图片描述

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 举报,一经查实,本站将立刻删除。

发布者:全栈程序员-站长,转载请注明出处:https://javaforall.net/133971.html原文链接:https://javaforall.net

赞 (0)
全栈程序员-站长的头像全栈程序员-站长

相关推荐

  • LoadRunner教程06:录制测试脚本

    LoadRunner教程06:录制测试脚本LoadRunner教程06:录制测试脚本

    2022年5月23日
  • wing是什么_强制排序

    wing是什么_强制排序给定 n 本书,编号为 1∼n。在初始状态下,书是任意排列的。在每一次操作中,可以抽取其中连续的一段,再把这段插入到其他某个位置。我们的目标状态是把书按照 1∼n 的顺序依次排列。求最少需要多少次操作。输入格式第一行包含整数 T,表示共有 T 组测试数据。每组数据包含两行,第一行为整数 n,表示书的数量。第二行为 n 个整数,表示 1∼n 的一种任意排列。同行数之间用空格隔开。输出格式每组数据输出一个最少操作次数。如果最少操作次数大于或等于 5 次,则输出 5 or more。每个

    2022年8月9日
  • sqlite 可视化工具_mysql用什么可视化工具

    sqlite 可视化工具_mysql用什么可视化工具软件名称:SQLiteExpert下载地址:http://www.sqliteexpert.com/download.html下载免费的Personal版本就可以了 我试用了SQLiteExpert和Sqliteadmin,SQLiteExpert要好用的多! …

    2022年9月3日
  • Mybatis的多表关联查询(多对多)「建议收藏」

    Mybatis的多表关联查询(多对多)「建议收藏」Mybatis的多表关联查询(多对多)项目目录结构实现Role到User多对多业务要求用户与角色的关系模型编写角色实体类编写Role持久层接口实现的SQL语句编写映射文件测试代码实现User到Role的多对多业务要求编写用户实体类编写User持久层接口实现的SQL语句编写映射文件测试代码mybatis中的多表查询: 示例:用户和角色 一个用户可以有多个角色 一个角色可以赋予多个用户 步骤: 1、建立两张表:用户表,角色表 让用户表和角色表具有多对多的关

    2022年5月1日
  • 磁盘显示没有初始化找到数据法子[通俗易懂]

    磁盘显示没有初始化找到数据法子[通俗易懂]没有初始化是因为分区表损坏了,导致移动硬盘出现没有初始化。磁盘显示没有初始化找到数据法子没有初始化是因为分区表损坏了,导致移动硬盘出现没有初始化。磁盘显示没有初始化找到数据法子工具/软件:光明数据恢复软件步骤1:程序打开后,直接双击需要恢复的物理盘,没有初始化需要从磁盘恢复文件。步骤2:坐等软件扫描完成一般需要几分钟到半个小时,稍微耐心等下即可。步骤3:打钩所有需要恢复的文件,然后点右上角的保存,《另存为》按钮,将打钩的文件拷贝出来。步骤4:最后一步只需要等程序将文件复制完成就可以了

    2022年9月21日
  • webstrom2021激活码_最新在线免费激活

    (webstrom2021激活码)好多小伙伴总是说激活码老是失效,太麻烦,关注/收藏全栈君太难教程,2021永久激活的方法等着你。IntelliJ2021最新激活注册码,破解教程可免费永久激活,亲测有效,下面是详细链接哦~https://javaforall.net/100143.html1STL5S9V8F-eyJsaWNlbnNlSW…

    2022年3月27日

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

关注全栈程序员社区公众号