这两天看了spring关于IOC容器一章内容,看完以后脑壳简直乱成一团,不少专业名词都不懂什么意思,完了以后我仍是不懂到底什么是IOC控制反转以及依赖注入!虽然我结合了本身公司的项目去看了一下spring的配置,而且把本身搭建的spring框架错误也解决了,可是我仍是不懂,什么是IOC控制反转,什么是依赖注入呢?spring
随后我在网上找了一些资料,大体的意思我算是给搞清了70%,如今写下本身对这二者的理解,假如还有更新的认识,会继续更新这篇博文。框架
IOC控制反转:在原来调用者要调用一个对象的时候,调用者就须要给被调用者建立对象,而后用了spring以后,调用者不须要给被调用建立对象了,这些工做所有交给了spring,这个就是IOC控制反转。对象
依赖注入:何为依赖?spring对依赖的理解是二者的以后的关系,好比A调用B,则A对B有依赖关系。何为注入呢?好比我使用@Repository把一个UserDao设为一个bean,当我在另一个类须要调用它的时候,我就须要@Autowire去bean容器中查找UserDao类型的bean,假如找到了,则直接注入到调用类里面,被调用者是自动注入进去的;这样的好处是什么呢?下面我用一个例子来讲一下:it
原来很古老的年代,樵夫须要一个斧头的时候须要本身去打造一个斧头。这就至关于原来咱们要调用一个类的时候,咱们须要为其建立一个对象才能使用。容器
到了近代,樵夫须要一个斧头的时候,他须要去特别的工厂挑选本身想要的斧头,他不须要本身作了,有工厂代工为它建立一个斧头。这就是工厂模式,配置
到了如今,樵夫须要一个斧头的时候,他只须要坐在家里告诉别人我须要一个斧头,就能直接拥有一个斧头,并不须要去工厂里面挑选了,这就是IOC容器的整个意思。调用者须要一个对象的时候,只须要一个注解,就能够得到它须要的那个对象,spring直接去bean容器中为它找到这个对象,让它们之间创建链接。依赖注入
我所理解大体这些,应该也有理解错误的地方,往后我有更多的理解了,会修改博文的。项目