第六阶段 第二模块

image.png
在程序启动期spring 就会去创建一些对象存储到ioc

image.png

image.png

image.png
会去找它对应的实现类
但是可能有多个实现类 所以要用qualifier来指定id来确定

image.png
一开始如果为accountDao变量名就不会报错
这是因为它会去根据变量名去匹配id

image.png

image.png

image.png

image.png

image.png

image.png

image.png
这两个方法是同一个线程

threadlocal key就是当前线程 value为它这个线程存储的数据可以为任何类型 这两个方法是同一个线程的 所以他们的threadlocal是同一个(同一个容器) 所以第一个放进去的连接的容易 跟二个取出连接的容器是同一个 所以 保证了调用这两个方法的连接为同一个 即保证是同一个事务

image.png
remove就是清空容器

image.png

https://www.cnblogs.com/tnt-33/p/10149087.html
两个动态代理的区别

image.png

image.png
常用

image.png

image.png
最终所注入的接口对象已经为动态代理的接口对象

你可能感兴趣的:(spring)