SpringBoot的自动装配(一)
发布网友
发布时间:2022-10-13 15:42
我来回答
共1个回答
热心网友
时间:2023-11-05 12:24
一、什么是SpringBoot的自动装配
SpringBoot的自动装配是指:SpringBoot会自动将一些配置类的bean注册到ioc容器,我们可以在需要的地方使用@Autowired或@Resource等注解来使用它。
自动的表现形式就是我们只需要引我们享用功能的包,其他的配置完全不需要管,springboot会自动注入这些配置备案,我们直接使用就行。
自动装配也是SpringBoot的一个重要的特点,他帮我们做了很多的配置。
二、它是怎样实现的?
1、run方法
当启动一个SpringBoot项目时,本质上就是执行了地洞累中的主方法,然后执行了run方法。
ConfigurableApplicationContext这个对象就是 ApplicationContext接口的一个子接口。
其实SpringBoot项目的启动,本质上就是一个Spring的初始化操作。
2、@SpringBootApplication
点开这个注解可以发现,这是一个组合注解,包括:
这些注解中,前四个是JDK中的自动元注解,是用来修饰注解的注解。@ComponentScan是用来扫描路径的,如果不置顶特定的扫描路径的话,扫描的路径是当前修饰的类所在的包及其子包。而@SpringBootConfiguration这个注解的本质就是@Configuration注解。所以在这里面跟SpringBoot自动装配有关系的就只有一个了:@EnableAutoConfiguration
3、@EnableAutoConfiguration
@AutoConfigurationPackage不是用来实现自动装配的,在Spring中,他是用来扫描实体类Entity等注解的。所以重点是在@Import上。
@Import注解实现了AutoConfigurationImportSelector类,自动装配也是在这个类中进行了具体的实现。自动装配实现的就是该类中的selectImports方法里。通过selectImports方法,取到spring.factories文件下的一系列类名,随后将这些类自动加载至IOC容器中。
4、总结
SpringBoot的自动装配也就是通过@EnableAutoConfiguration注解,加载AutoConfigurationImportSelector类中的selectImports方法,进而扫描spring.factories文件下的自动配置类,并将其装配到IOC容器的过程。
springboot自动装配(springboot自动装配过程)
SpringBoot是Spring的包装,通过自动配置使得SpringBoot可以做到开箱即用,上手成本非常低,但是学习其实现原理的成本大大增加,需要先了解熟悉Spring原理。SpringBoot自动配置/装配(SPI)1、这里报错了,原因是只导入了一个bean而SpringBoot无法启动服务器解决办法一:将@Import改成@ConponentScan这样就会扫描同级...
springboot自动装配
1. 引入Redis相关jar包 2. 在application.yml中简单配置 3. Spring Boot自动注入redisTemplate和stringRedisTemplate,供使用。自动装配原理 自动装配源于SpringBootApplication注解。具体步骤如下:1. SpringBootConfiguration类实为@Configuration,负责配置。2. ComponentScan指定扫描package,将其中的@Bean和@Co...
SpringBoot的自动装配
SpringBoot中的条件注解包括:ComponentScan注解用于定义扫描路径,找出需要自动装配的类并添加至Spring容器。通常使用@Controller、@Service、@Repository、@Component注解标识的类会被自动装配。ComponentScan通过includeFilters加入未标注上述注解的类,excludeFilters过滤掉不需加入容器的类。
springboot的自动装配原理(springboot自动装配原理过程)
1、从spring-boot-autoconfigure.jar/META-INF/spring.factories中获取redis的相关配置类全限定名(有120多个的配置类)RedisAutoConfiguration,一般一个功能配置类围绕该功能,负责管理创建多个相关的功能类,比如RedisAutoConfiguration负责:JedisConnectionFactory、RedisTemplate、StringRedisTemplate这3个功能类的...
玩转Spring Boot 原理篇(自动装配前凑之自定义Stater)
自定义Spring Boot Starter实现 按照葫芦画瓢的思路,我们将创建一个猜数字游戏服务的自定义Starter。首先,定义项目结构,添加依赖配置,创建Service和自动配置类,设置条件注解以实现自动装配功能。接着,编写配置文件和自动装配类,完成自动装配的机制。在完成自定义Starter的构建后,我们将该Starter引入到...
SpringBoot源码学习——SpringBoot自动装配源码解析+Spring如何处理配置...
启动SpringBoot服务,通常使用Main方法启动,其中@SpringBootApplication注解包含@SpringBootConfiguration、@EnableAutoConfiguration、@ComponentScan,自动装配的核心。深入分析@SpringBootApplication,其实质是执行了@SpringBootConfiguration、@EnableAutoConfiguration、@ComponentScan三个注解的功能,简化了配置过程,...
springboot自动装配注解?
SpringBoot的自动装配(一) 一、什么是SpringBoot的自动装配 ??SpringBoot的自动装配是指:SpringBoot会自动将一些配置类的bean注册到ioc容器,我们可以在需要的地方使用@Autowired或@Resource等注解来使用它。 ??自动的表现形式就是我们只需要引我们享用功能的包,其他的配置完全不需要管,springboot会自动注入这些配置备案...
SpringBoot自动装配加载过程全梳理!你能get多少?
理解SpringBoot自动装配加载过程的核心,首先需明确@SpringBootApplication注解背后的逻辑。该注解包含@SpringBootConfiguration和@EnableAutoConfiguration,其中@EnableAutoConfiguration是关键。通过探究@EnableAutoConfiguration注解,我们发现其主要功能是启动自动配置机制。自动配置通过检查META-INF/spring.factories文件...
Spring Boot自动装配原理探究
首先,Spring Boot的自动装配是基于Spring框架原有的自动装配功能,并通过引入SPI机制进行优化。启动时,它会扫描外部jar包中的META-INF/spring.factories文件,根据其中的配置信息动态地将第三方组件注入到Spring容器中,无需手动配置即可直接使用。Spring Boot自动装配主要通过@SpringBootApplication注解实现,它...
spring boot自动装配原理
首先打开一个基本的springboot项目,点进去@SpringBootApplication注解。可以根据名字知道实现自动装配应该是上面的@EnableAutoConfiguration注解,继续点进去 这时候对spring注解比较了解的同学应该能感觉到实现原理就在@Import(AutoConfigurationImportSelector.class)这个注解中,@Import注解的参数可以是静态类(用作...