首页>>后端>>Spring->springboot原理简述?

springboot原理简述?

时间:2023-12-09 本站 点击:0

springboot自动装配原理面试回答是什么?

1、SpringBoott自动装配原理主要解决了传统spring的重量级xml配置Bean.实现了自动装配;所以,我们也常在面试中被问到SpringBoot是如何实现自动装配。

2、Springboot是spring的子项目,称为一站式解决方案,集成了外部很多的优秀的框架,如常用的mysql、jdbc。

3、总结:到这里基本清楚了,springboot的自动装配就是通过自定义实现ImportSelector接口,从而导致项目启动时会自动将所有项目META-INF/spring.factories路径下的配置类注入到spring容器中,从而实现了自动装配。

4、生成功能类的原则是自定义优先,没有自定义时才会使用自动装配类。

5、什么是SpringBoot的自动装配 SpringBoot的自动装配是指:SpringBoot会自动将一些配置类的bean注册到ioc容器,我们可以在需要的地方使用@Autowired或@Resource等注解来使用它。

springboot的简单理解

springboot帮我们做的两件事,一个是通过starter引入我们需要的框架,starter负责引入自己的依赖;另一个是通过autoconfigure生效一些默认的配置,简化我们的使用,这一步是通过spring.factories中定义的配置类实现的。

Spring Boot 可以轻松创建独立的、生产级的基于 Spring 的应用程序,您可以“直接运行”这些应用程序。我们对 Spring 平台和第三方库采取了固执的观点,因此您可以轻松上手。

Apache Tomcat是Spring Boot提供的默认servlet容器,但是,Spring启动提供了使用其他servlet容器的方法(我们必须为此添加所需的启动器)。

它可以省去之前繁琐的编辑配置文件的过程,采用 大量的默认配置 来简化开发过程。

SpringBoot运行原理

springboot-boot-starter-xxx:spring-boot的场景启动器 spring-boot-starter-web:帮我们导入了web模块正常运行所依赖的组件。

配置 spring.factories ,通过该配置,才能让springboot来自动加载我们的Configuration类。具体原理我们稍后深入了解。具体的,是在模块的 resources/META-INF 目录下,新建 spring.factories 文件。

springboot帮我们做的两件事,一个是通过starter引入我们需要的框架,starter负责引入自己的依赖;另一个是通过autoconfigure生效一些默认的配置,简化我们的使用,这一步是通过spring.factories中定义的配置类实现的。

首先打开一个基本的springboot项目,点进去@SpringBootApplication注解。

Spring boot 整合了web 和batch ,但是他们肯定不是同一条路, 在spring boot 中,会推断当前的运行环境。

同时,我试了下,直接运行application类的话,是找不到主类的:因为在文件目录中,JarlearnApplication实际上是在META-INF/maven/... 中的,所以会找不到。

SpringBoot核心原理:自动配置、事件驱动、Condition

1、Spring支持Java配置和XML配置,他们为应用程序开启了特定的特性和功能,SpringBoot实现了自动配置,可以减少配置负担。

2、SpringBoot在启动的时候从类路径下的META-INF/spring.factories中获取EnableAutoConfiguration指定的值 将这些值作为自动配置类导入容器,自动配置类就生效,帮我们进行自动配置工作。

3、方法/步骤 SpringBoot启动的时候加载主配置类,开启了自动配置功能@EnableAutoConfiguration。请点击输入图片描述 EnableAutoConfiguration的作用是利用AutoConfigurationImportSelector给容器中导入一些组件。

4、创建一个SpringApplication对象时,会调用它自己的initialize方法 执行核心run方法 初始化initialize方法执行完之后,会调用run方法,开始启动SpringBoot。

SpringBoot启动原理分析

1、初始化initialize方法执行完之后,会调用run方法,开始启动SpringBoot。首先遍历执行所有通过SpringFactoriesLoader,在当前classpath下的META-INF/spring.factories中查找所有可用的SpringApplicationRunListeners并实例化。

2、配置 spring.factories ,通过该配置,才能让springboot来自动加载我们的Configuration类。具体原理我们稍后深入了解。具体的,是在模块的 resources/META-INF 目录下,新建 spring.factories 文件。

3、Spring boot 整合了web 和batch ,但是他们肯定不是同一条路, 在spring boot 中,会推断当前的运行环境。


本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。
如若转载,请注明出处:/Spring/21016.html