最近学习Spring,作如下整理:
Spring IOC - Inversion of control ,即控制反转,怎么理解控制反转:就是要确定谁控制谁,控制了什么,为何是反转,反转了什么。
1.先来理解谁控制谁,控制了什么:在传统的java SE 程序设计中,我们都是在对象内部通过new 关键字来实例话对象,是程序来主动创建依赖对象,而spring是由IOC来控制对象的创建,控制什么:就是控制了外部资源的获取。2.在来理解为何是反转,反转了什么:传统的应用程序就是自己在对象中来实例化依赖的对象,而现在是通过Spring IOC来实现,即实现了反转,反转了什么:依赖对象的获取被反转了。
Spring DI -Dependency Injection ,即依赖注入,怎么理解依赖注入:即由容器动态的将某个依赖关系注入到组件之中,那么谁依赖谁,为什么需要依赖,谁注入谁,注入了什么。
1.谁依赖谁:应用程序依赖了IOC容器。 2.为什么需要依赖:应用程序需要IOC容器提供外来资源。 3.谁注入谁:IOC容器注入应用程序中的某个对象。 4.注入了什么:注入了某个对象需要的外部资源。