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)
上一篇 2022年6月7日 下午4:36
下一篇 2022年6月7日 下午4:46


相关推荐

  • CLion激活码 2021永久激活码(最新序列号破解)

    CLion激活码 2021永久激活码(最新序列号破解),https://javaforall.net/100143.html。详细ieda激活码不妨到全栈程序员必看教程网一起来了解一下吧!

    2022年3月19日
    130
  • vue.js 时间戳转换日期格式

    vue.js 时间戳转换日期格式时间戳可以理解为过滤器的一种方式 日期格式的转换在项目中也经常遇到 今天我来总结项目中踩过的坑 以及解决方法 时间戳转换日期格式有三种方法 方式一运行 cmd 执行 npminstallmo 或者 yarnaddmomen 命令 安装 moment 插件在 main js 文件中引入 moment 插件 并定义全局过滤器 3 在后续组件中 如果需要转换时

    2026年3月26日
    2
  • Java面试题集合_聚合的概念

    Java面试题集合_聚合的概念很多时候面试中恨不得你会造火箭,工作中也就让你拧拧螺丝。为了不在面试中吃亏,面试前突击多看看面试题还是狠有必要的。这是一份常见Java面试题分类汇总,希望对大家有用!初级面试题Java面试题-基础篇一Java面试题-基础篇二Java面试题-集合框架篇三Java面试题-基础篇四Java面试题-基础篇五Java面试题-javaweb篇六Java面试题-jav…

    2022年10月12日
    7
  • html中设置背景图片为平铺,html背景图片怎么设置平铺方式

    html中设置背景图片为平铺,html背景图片怎么设置平铺方式在html中,可利用background-repeat属性来设置背景图片的平铺方式;当属性值设置为“repeat”时可向垂直和水平方向平铺,“repeat-x”时可水平平铺,“repeat-y”时可垂直平铺,“no-repeat”时不平铺。本教程操作环境:windows7系统、CSS3&&HTML5版、DellG3电脑。html背景图片设置平铺方式div{border:1px…

    2022年6月1日
    69
  • think in java一_Think in Java(一):Java基础「建议收藏」

    think in java一_Think in Java(一):Java基础「建议收藏」一.OOP的特点(1)万物皆为对象;(2)程序是对象的集合,他们通过发送信息来告诉彼此所要做的;(3)每个对象都有自己的由其他对象所构成的存储;(4)每个对象都拥有它的类型;(5)某一特定类型的对象都可以接收同样的消息;二.Java比C++简单?(1)Java有垃圾回收器,不用手动销毁对象;(2)Java使用单根继承;(3)Java只能以一种方式创建对象(在堆上创建);三….

    2022年7月8日
    24
  • 获取activexobject对象失败_在各种管理对象中最重要的是

    获取activexobject对象失败_在各种管理对象中最重要的是JavaScript中ActiveXObject对象是启用并返回Automation对象的引用

    2022年10月14日
    5

发表回复

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

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