理解依赖注入(控制反转)!
2016-07-28 21:44
302 查看
最近在学spring框架,看到了依赖注入。在传统的java程序设计中,都是调用者创建一个被调用者的实例。但在spring框架中创建一个被调用者不是调用者完成的,实际这就是控制反转了。创建被调用者的工作都被spring做了,然后再注入到调用者,这就叫依赖注入。
来个接地气的讲解:
原来一个女生和一个男生的爱情传统上就是青梅竹马的方式。这就是传统的java程序设计,男生要结婚,就只有调用女生这个对象去结婚。(这说的有点勉强)
还有一个婚姻不是青梅竹马,而是父母包办。男生要结婚,不是调用女生对象,而是由父母选定,然后指定女生后,再与男生一起结婚。父母就好比spring框架,调用女生对象,然后注入到男生的婚姻中。
为什么依赖注入是种高级的东西?
就像李刚的轻量级JavaEE书中的意思,最开始玩java,需要对象,得自己去new,后来我们学会工厂模式,没对象,通过工厂去造,最后如本文,我们需要时,人家spring自动给你注入进去,省事。
来个接地气的讲解:
原来一个女生和一个男生的爱情传统上就是青梅竹马的方式。这就是传统的java程序设计,男生要结婚,就只有调用女生这个对象去结婚。(这说的有点勉强)
还有一个婚姻不是青梅竹马,而是父母包办。男生要结婚,不是调用女生对象,而是由父母选定,然后指定女生后,再与男生一起结婚。父母就好比spring框架,调用女生对象,然后注入到男生的婚姻中。
为什么依赖注入是种高级的东西?
就像李刚的轻量级JavaEE书中的意思,最开始玩java,需要对象,得自己去new,后来我们学会工厂模式,没对象,通过工厂去造,最后如本文,我们需要时,人家spring自动给你注入进去,省事。
相关文章推荐
- 【字符串】KMP匹配模板
- POJ 3170(bfs求最短路)
- NYOJ-68 三点顺序
- Zabbix-3.0.3使用自带模板监控MySQL
- PCM转MP3工具的封装
- Java 泛型的详解
- POJ2424 4th Point
- JAVASCRIPT:STRING类型
- Java SE--集合框架--记录点点滴滴
- android异常收集-java.lang.RuntimeException: Fail to get camera info
- BZOJ1015 [JSOI2008]星球大战starwar
- mysql 易错误理解
- Java异常处理中finally中的return会覆盖catch语句中的return语句
- 将当前界面的可视组件保存在png图像文件中
- 关于 二维码的生成
- 为什么Servlet修改之后,Tomcat都得重启,servlet才会生效!
- python学习之路-day1-python基础1
- Android_Spinner_example
- Zabbix-3.0.3结合Grafana-3.1.0给你想要的绘图
- 如何在C#下生成DLL文件,以及如何在C#下调用生成的DLL文件