
Spring 源码解读
文章平均质量分 96
Spring 源码解读笔记,仅作为学习专用
wx.peng
一个新手,正在努力的新手
展开
-
Spring 源码解读(五):@Conditional及其衍生扩展注解(5千字大章)
条件装配是Spring Boot一大特点,根据是否满足指定的条件来决定是否装配 Bean ,做到了动态灵活性,starter的自动配置类中就是使用@Conditional及其衍生扩展注解原创 2024-02-04 16:30:38 · 960 阅读 · 0 评论 -
Spring 源码解读(四):@SpringBootApplication使用及原理详解
Springboot 最核心的注解:@SpringBootApplication, 这也是SpringBoot自动装配相关所需依赖和配置的依仗。原创 2024-01-19 16:13:04 · 1445 阅读 · 0 评论 -
Spring 源码解读(三):@ComponentScan使用及原理详解
总结的来说,就是初始化了一个ClassPathBeanDefinitionScanner扫描器,根据@ComponentScan的属性,设置扫描器的属性,最后调用扫描器的doScan()方法执行真正的扫描工作。发现配置类LITE模式匹配规则里面并没有包含@ComponentScans注解,所以判断当前类不是配置类,自然不会再进行后面的相关注解解析了,这也就是上面多次使用@ComponentScan扫描注入不成功的问题。@ComponentScan 的定义,比起之前的两个注解,会稍微复杂一些。原创 2024-01-12 11:34:07 · 1962 阅读 · 0 评论 -
Spring 源码解读(二):@Import使用及原理详解
唯一的区别就是,2个参数的方法,只能手动的输入beanName,而3个参数的方法,可以利用BeanNameGenerator根据beanDefinition自动生成beanName。@Import 注解提供了类似 @Bean 注解的功能,向Spring容器中注入bean,也对应实现了与Spring XML中的元素相同的功能。注意,这里只能注入一个bean,所以只能实现一个方法进行注入,如果两个都是实现,前面的一个方法生效。而@Bean注入的默认为方法名,这也是两者的区别。我们定义几个类尝试一下。原创 2023-12-26 18:30:57 · 223 阅读 · 0 评论 -
Spring 源码解读(一)@Component和@Configuration的区别
Component在Spring中是代表LITE模式的配置注解,这种模式下的注解不会被Spring所代理,就是一个标准类,如果在这个类中有@Bean标注的方法,那么方法间的相互调用,其实就是普通Java类的方法的调用。@Configuration在Spring中是代表FULL模式的配置注解,这种模式下的类会被Spring所代理,那么在这个类中的@Bean方法的相互调用,就相当于调用了代理方法,那么在代理方法中会判断,是否调用getBean方法还是invokeSuper方法。原创 2023-12-25 15:28:08 · 1667 阅读 · 0 评论