总结
- ioc是一个容器,帮我们管理所有的组件;
- 依赖注入(第一大功能):哪些组件里要用到另外一个组件,直接
@Autowired
自动赋值。 - 某个组件想要使用Spring提供的更多功能(IOC、AOP)那么就必须加入到容器中。
体会
- 流程:
1、容器启动。会创建所有单实例bean
2、autowired
自动装配的时候,是从容器中找这些符合要求的bean
3、ioc.getBean("bookServlet");
也是从容器中找到这个bean
。
4、容器中包括了所有的bean
思考
- 调试spring的源码,容器到底是什么?
- 其实就是一个
map
, 这个map
中保存所有创建好的bean
,并提供外界获取功能get()
…
- 单实例的bean都保存到哪个map中了?
源码调试的思路
从helloworld开始的,给helloworld每一个关键步骤打上断点。进去看里面都做了什么工作。
- 怎么知道哪些方法都是干什么的?
- 翻译这个方法
- 放行这个方法,看控制台,看debug的每一个变量的变化
- 看方法注释