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)
全栈程序员-站长的头像全栈程序员-站长


相关推荐

  • 银河麒麟安装windows虚拟机_中标麒麟安装vmtools

    银河麒麟安装windows虚拟机_中标麒麟安装vmtools下载系统:http://download.cs2c.com.cn/neokylin/desktop/releases/6.0/x86_64/iso/安装系统:1.新建虚拟机,选择典型,下一步2.稍后安装操作系统,下一步3.选择Linux系统版本为其他Linux3.x内核,下一步4.设置磁盘大小为…

    2022年8月10日
    107
  • java ftl_.ftl文件 是什么文件 freemaker「建议收藏」

    java ftl_.ftl文件 是什么文件 freemaker「建议收藏」freemarker的文件一般以后缀ftl,ftl文件的头上要写这样才能在ftl中使用webwork的tag。freemarker确实是不错的模版语言引擎,尤其是处理对象图很方便,处理xml也很方便,还支持xpath什么是FreeMarker?FreeMarker是一个模版引擎,一个基于文本的模板输出工具(生成任意的HTML表单代码)。它是一个Javapackage,面向Java程序员的cla…

    2022年6月26日
    42
  • ASP.NET MVC 5 学习教程:数据迁移之添加字段

    ASP.NET MVC 5 学习教程:数据迁移之添加字段

    2021年8月25日
    49
  • Java学习路线图(2020最新版)

    Java学习路线图(2020最新版)第一阶段:Java基础学习任何一门编程语言,首先要学习的是基础语法,开启Java学习的第一步,当然就是深入掌握计算机基础、编程基础语法,面向对象,集合、IO流、线程、并发、异常及网络编程,这些我们称之为JavaSE基础。当你掌握了这些内容之后,你就可以做出诸如:电脑上安装的迅雷下载软件、QQ聊天客户端、考勤管理系统等桌面端软件。第二阶段:数据库互联网最具价值的是数据,任何编程语言都需要解决数据存储问题,而数据存储的关键技术是数据库。MySQL和Oracle都是广受企业欢迎的数据库管理系统。Java

    2022年5月13日
    60
  • 怎么解决0xc0000005

    怎么解决0xc0000005引起的原因不同,解决方法也不一。方法一、1、点击“开始”-“运行”—输入“cmd”回车,2、在命令提示符下输入“for%1in(%windir%\system32\*.dll)doregsvr32.exe/s%1”。回车后慢慢等(需要点时间1-2分钟都运行完再打开看。方法二、换内存或换内存插槽。方法三、升级系统补丁。方法四、玩QQ时出现这类

    2022年9月28日
    2
  • 【教程】详解VS2010安装流程[通俗易懂]

    【教程】详解VS2010安装流程  原文网址链接为:http://jingyan.baidu.com/article/4e5b3e195b838991901e24e5.html  VS2010全称“Microsoft Visual Studio 2010”,是微软公司推出的开发环境。也是目前流行的Windows平台应用程序开发环境。注意:在第6步安装时,产品安装路径可以选择

    2022年4月16日
    61

发表回复

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

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