spring源码
文章平均质量分 58
高某某。。
这个作者很懒,什么都没留下…
展开
-
spring中的@Autowired注解
直接进入实例化bean的方法中找到一个有@Autowird注解的方法再doCreatebean中会有这么一个方法记录@Autowird注解标志的属性 保存下来,再populate中注入直接进入populate方法中看这一段代码:作用就是对我们的属性进行填充再它的inject中找到对应的属性,如果缓存中有就去缓存中拿,没有就去创建这个对象 都是调用getBean来获取,流程一致。所以这里就是先根据Type找,但是@Qualifier可以控制直接从他的value找,就只返回一个,如果没有@原创 2022-04-04 16:54:07 · 159 阅读 · 0 评论 -
mybatis与spring整合过程
上一篇文章已经说了beanDefinition是通过BeanFactoryPostProcessorsr来将我们的mapper的信息注册为beanDefinition,接下来我们看一看spring是如何整合sqlSessionFactory的1.创建SqlSessionFactoryBean成为bean对象的时候调用他的afterPropertiesSet方法,并且生成sqlSessionFactory:并且我们如果进入创建sqlSessionFactory的方法中取看的话,会发现他的很多操作就是我们使原创 2022-03-06 17:10:39 · 155 阅读 · 0 评论 -
spring读取bean的定义信息
我们都知道spring要创建bean之前需要先在xml文件中读取到bean的定义信息,里面有着每个bean的相关的属性已经很多东西:1.首先创建我们的bean处理器相关的2.遍历资源对象3.获取输入流,并且把xml文件转换为Document对象4.解析document对象可能大家会疑惑为什么我们有xmlBeanDefinitionReader还要创建这么多的reader这不是多此一举吗,不如不创建xmlBeanDefinitionReader?首先,我们的xmlBeanDefinit原创 2022-03-05 10:06:49 · 381 阅读 · 0 评论 -
Spring中Aop的调用顺序
原创 2022-01-15 20:41:53 · 82 阅读 · 0 评论 -
spring中的Aop大致流程
首先我们先来一个基础类 就是需要被Aop代理的类再来一个切面加上配置类启动类 打上断点 debug执行 f7进入方法中查看我们看一看chain中有什么属性ExposeInvocationInterceptor的用处我们等下讲解 继续往下看进入方法 来执行链式调用 就是我们所说的责任链模式new CglibMethodInvocation(proxy, target, method, args, targetClass, chain, methodProxy).proceed原创 2021-11-16 10:34:22 · 633 阅读 · 0 评论 -
jdk和cglib动态代理的区别
原文地址我只是供自己使用 要理解还是看原文好//动态代理的测试类public interface HelloWorld { public String sayHello();}实现我们的接口public class HelloWorldImpl implements HelloWorld{ @Override public String sayHello() { System.out.println("hello proxy"); return "你好动态代理"; }}原创 2021-11-12 20:56:55 · 511 阅读 · 0 评论 -
beanFactory创建流程 以及BeanDefinition的装填 自定义spring标签
大家都知道 在spring的流程中beanFactory是非常重要的东西 接下来我们带大家来走一遍beanFactory创建的流程我们直接开门见山进入方法中 下述方法就是创建beanFactory的方法并且将BeanDefinition中的对象装入beanFactory中 我们仔细进入查看进入refresh方法 下面的方法一看就知道 是当我们创建完bean工厂后 直接获取所以不管我们一步一步的来 先进入创建工厂的方法在创建bean工厂的时候 我们看到它会一层一层的调用父类的构造方法有许多属性被原创 2021-11-11 09:20:34 · 416 阅读 · 0 评论