spirng注解源码
文章平均质量分 96
森林猿
主要把用于归档为知笔记内容,技术在更新,把技术内容做归档
展开
-
spirng-源码-@EnableAspectJAutoProxy-注册
文章目录什么时候起作用接口SmartInstantiationAwareBeanPostProcessorInstantiationAwareBeanPostProcessorBeanPostProcessor说明流程一、直接获取代理对象分析 resolveBeforeInstantiation执行 postProcessors前置处理器分析 shouldSkip分析 postProcessAfterInitialization 什么时候起作用 也就说 我们的AOP 什么时候去使用的?我们知道 当一个Bea原创 2020-09-03 10:39:53 · 110 阅读 · 0 评论 -
spring-@Bean-源码
需要明确的是 本文仅仅是演示一个调用过程,读者需要对 spring有一个基本的认知 扫描 Bean 扫描 Bean 仅仅是扫描 注解或者 派生注解而我们的 属于是派生注解所以 配置类会被扫描到 处理 @Bean 注解 通过 扫描到 会进行一个判断,判断是否是 一些特定注解,当是的时候会进行 递归调用 递归调用… 这里又调回来了,当然这里精简了大量的代码 获取所有 标有@Bean 注解的方法 说明 获取所有 @Bean 注解的所有方法包装成 放进 Map中 当执行完 后也就将 放进M原创 2020-07-30 17:52:23 · 780 阅读 · 0 评论 -
spring-源码-@ComponentScan
文章目录前言启动类处理启动类处理@ComponentScan执行扫描扫描findCandidateComponentsscanCandidateComponents到底注册到哪里去了?springboot调用流程项目启动调用run方法剩余流程 前言 通过分析我们知道这个启动类是什么时候被注册的 通过分析我们知道了这个 @ComponentScan 是什么时候被使用到的 需要说明的是这里仅仅涉及到 Class 转成 BeanDefinition 的过程,并不涉及 对象创建等操作… 启动类 @Compone原创 2020-07-29 14:43:14 · 201 阅读 · 0 评论 -
spring-源码-InstantiationAwareBeanPostProcessor
文章目录前言源码说明代码演示 前言 属于 BeanPostProcessor的子接口,主要功能是 实例化之前回调 实例化之后回调 属性装配 & 自动装配之前 源码 public interface InstantiationAwareBeanPostProcessor extends BeanPostProcessor { // 实例化之前 会传递 目标 Class ,这个方法的作用是 直接返回代理类,也就说不会在进行目标类的实例化,而是通过自定义返回 @Nullable原创 2020-08-20 17:28:39 · 145 阅读 · 0 评论 -
spring-源码-BeanPostProcessor
文章目录BeanPostProcessorpostProcessBeforeInitializationpostProcessAfterInitialization源码分析实验 BeanPostProcessor 接口恰好由两个回调方法组成,其作用是在 调用 初始化方法之前 和调用初始化方法之后调用,那能帮我们做什么呢? 可以参考一下其实现类ApplicationContextAwareProcessor该实现类就说是帮我们回调一些方法,通过我们的目标类判断是否是实现类了某些特定的接口,如果是则会调用对应的原创 2020-08-20 16:08:43 · 128 阅读 · 0 评论 -
spring-源码-bean生命周期
文章目录前言什么是Bean 生命周期Bean生命周期步骤说明后言 前言 本文不涉及任何源码,仅仅涉及一些概念上的一些说明,什么是Bean 生命周期 ,注意此Bean 生命周期不是指的类的生命周期,而是 一个 Class 是怎么一步一步 形成 一个spring 管理的Bean的, 为什么要说这个东西,因为只有当你理解了 Bean的生命周期你才能理解 为什么 AutowiredAnnotationBeanPostProcessor 属性注入是放在 属性赋值 、依赖注入,而不是放在初始化方法回调,等等一系列原创 2020-08-20 16:03:30 · 109 阅读 · 0 评论 -
spring-源码-@Import
文章目录前言@Import注册@Configuration类扫描@Import处理@Import处理(组件)问题注册(组件)调用loadBeanDefinitions调用loadBeanDefinitionsForConfigurationClass调用 registerBeanDefinitionForImportedConfigurationClass流程图ImportSelector注册@Configuration类扫描@Import处理@Import创建(组件)后续处理注册ImportBeanDef原创 2020-07-24 10:23:22 · 177 阅读 · 0 评论