代码编织梦想

 介绍Spring Boot的启动流程

首先,Spring Boot项目创建完成会默认生成一个名为 *Application 的入口类,我们是通过该类的main方法启动Spring Boot项目的。在main方法中,通过SpringApplication的静态方法,即run方法进行SpringApplication类的实例化操作,然后再针对实例化对象调用另外一个run方法来完成整个项目的初始化和启动。

其中,SpringApplication在run方法中重点做了以下操作:

  • 获取监听器和参数配置;

  • 打印Banner信息;

  • 创建并初始化容器;

  • 监听器发送通知。

请描述Spring Boot自动装配的过程

整个自动装配的过程是:Spring Boot通过@EnableAutoConfiguration注解开启自动配置,加载spring.factories中注册的各种AutoConfiguration类,当某个AutoConfiguration类满足其注解@Conditional指定的生效条件(Starters提供的依赖、配置或Spring容器中是否存在某个Bean等)时,实例化该AutoConfiguration类中定义的Bean(组件等),并注入Spring容器,就可以完成依赖框架的自动配置。 

 说一说你对Spring容器的了解

Spring主要提供了两种类型的容器:BeanFactory和ApplicationContext。

  • BeanFactory:是基础类型的IoC容器,提供完整的IoC服务支持。如果没有特殊指定,默认采用延 迟初始化策略。只有当客户端对象需要访问容器中的某个受管对象的时候,才对该受管对象进行初始化以及依赖注入操作。所以,相对来说,容器启动初期速度较快,所需要的资源有限。对于资源有限,并且功能要求不是很严格的场景,BeanFactory是比较合适的IoC容器选择。

  • ApplicationContext:它是在BeanFactory的基础上构建的,是相对比较高级的容器实现,除了拥有BeanFactory的所有支持,ApplicationContext还提供了其他高级特性,比如事件发布、国际化信息支持等。ApplicationContext所管理的对象,在该类型容器启动之后,默认全部初始化并绑定完成。所以,相对于BeanFactory来说,ApplicationContext要求更多的系统资源,同时,因为在启动时就完成所有初始化,容 器启动时间较之BeanFactory也会长一些。在那些系统资源充足,并且要求更多功能的场景中,ApplicationContext类型的容器是比较合适的选择。

 说一说你对BeanFactory的了解

BeanFactory是一个类工厂,与传统类工厂不同的是,BeanFactory是类的通用工厂,它可以创建并管理各种类的对象

说一说Bean的生命周期

Spring容器管理Bean,涉及对Bean的创建、初始化、调用、销毁等一系列的流程,这个流程就是Bean的生命周期。整个流程参考下图:

版权声明:本文为博主原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。
本文链接:https://blog.csdn.net/qq_51118755/article/details/129624921

解答面试题——spring bean的作用域和生命周期_木得未来的博客-爱代码爱编程

前言 这里我不是教学,只是加入我作为一个面试者,遇到这道题我应该怎么回答,我可能回答的不够好,所以希望能给大家帮助的同时也能得到大家的指点。缺乏从哪方面的回答。 Spring Bean的作用域 spring bean的

Spring MVC面试题——Spring MVC介绍-爱代码爱编程

文章目录 1. 什么是MVC2.什么是Spring MVCSpring MVC运行原理3.什么是Spring MVC框架的控制器 1. 什么是MVC MVC模式(model-view-controller)是软件工程中的一种软件架构模式,它把软件系统分为三个基本部分:模型(Model),视图(View),控制器(Controller) Mo

JavaWeb编程面试题——Spring Framework-爱代码爱编程

JavaWeb编程面试题 面试题持续更新中… 1.什么是Spring框架?Spring框架有哪些主要模块?(简述题) Spring 是一种轻量级开发框架,旨在提高开发人员的开发效率以及系统的可维护性。 一般说spring框架指的是Spring Framework,它是很多模块的集合,这些模块是:核心容器、数据访问/集成、Web、AOP(面向切面编程)、

Java面试题整理——Spring综合-爱代码爱编程

Java面试题整理 Spring综合 Spring综合 1.Spring特点概述? 1)简介 目的:解决企业应用开发的复杂性。 功能:使用基本的JavaBean代替EJB,并提供了更多的企业应用功能。 范围:任何Java应用。 简单来说,Spring是一个轻量级的控制反转(IOC)和面向切面(AOP)的容器框架。 2)轻量 从大小与开销

面试——Spring中的循环依赖-爱代码爱编程

1 什么是Spring循环依赖 // A依赖了B,B是A对象中的一个属性 class A{ public B b; } // B依赖了A class B{ public A a; } 在普通的代码中,对象之间有依赖是很正常的,但是在Spring中,Bean对象的创建是要经过一系列的生命周期的。其中,有些循环依赖,Spring可以帮我们解决

javaweb编程面试题——spring web mvc_ongoing蜗牛的博客-爱代码爱编程

JavaWeb编程面试题目录 面试题持续更新中… 1.Spring MVC 有哪些组件?(简述题) Spring MVC 的核心组件: ● DispatcherServlet:中央控制器,将请求转发到具体的控制类。 ● Co

【2022最新java面试宝典】—— springcloud面试题(49道含答案)_javaspringcloud面试题-爱代码爱编程

目录 Spring Cloud1. 什么是微服务架构2. 为什么需要学习Spring Cloud3. Spring Cloud 是什么4. SpringCloud的优缺点5. SpringBoot和Spring

经典java面试题 ——spring aop-爱代码爱编程

[面试原题] Action类的定义如下: 为该类的actionSomeThing方法定义的切面拦截如下: 请问在执行Action对象的actionSomeThing()时的输出是什么? A.123456B.

【2022最新java面试宝典】—— spring面试题(75道含答案)_spring java面试题-爱代码爱编程

目录 1. Spring概述1.1 什么是spring?1.2 Spring的俩大核心概念1.3 Spring框架的设计目标,设计理念,和核心是什么1.4 Spring的优缺点是什么?1.5 Spring有哪些

07 工程结构及依赖关系_代码工程结构-爱代码爱编程

总述 为什么要在靠前位置介绍代码工程结构?如果开发需要全面接触V5的代码,就需要对V5整个平台的代码管理、依赖关系、调用模式和具体一个工程的代码结构有个了解,否则不了解代码结构,根本不知道怎么入手。 1.代码结构图 首先上一张图,研发内部的代码维护模式(部分,非全部): 标准产品的代码使用Gitlab做版本管理,使用Maven做依赖管理---工

mybatis开发环境搭建_during mybatis-爱代码爱编程

1.创建工程 2.引入相关的依赖 pom.xml <dependencies> <!--1.引入mybatis包--> <dependen