在程序启动期spring 就会去创立一些对象存储到ioc
autowired 这个是是看以后的类型正如上面的AccountDao
会去找它对应的实现类
然而可能有多个实现类 所以要用qualifier来指定id来确定
一开始如果为accountDao变量名就不会报错
这是因为它会去依据变量名去匹配id
这两个办法是同一个线程
threadlocal key就是以后线程 value为它这个线程存储的数据能够为任何类型 这两个办法是同一个线程的 所以他们的threadlocal是同一个(同一个容器) 所以第一个放进去的连贯的容易 跟二个取出连贯的容器是同一个 所以 保障了调用这两个办法的连贯为同一个 即保障是同一个事务
remove就是清空容器
https://www.cnblogs.com/tnt-33/p/10149087.html
两个动静代理的区别
罕用
最终所注入的接口对象曾经为动静代理的接口对象