Spring框架初探
在学习Spring的时候常常需要理解几个最主要的概念,包括:
- IOC
IOC是指Inversion of control,控制反转。主要指的是依赖关系的转移以及依赖抽象而非实践,从对象的角度来说可以避免耦合,从容器的角度来说,可以避免应用程序依赖于容器的功能,从而与容器脱离。
如果觉得难以理解的话,可以参考常见的工厂设计模式,就有一点IOC的味道,即“程序不依赖于实现,而是依赖于借口”。
- DI
DI是指Dependency Injection,依赖注入。指使用spring可以不用在自己的程序代码中维护对象的依赖关系,只需要在配置文件中加以设置,spring核心容器会自动根据配置,将依赖注入指定的对象。
IOC的实现方式有DI和Service Locator两种,其中Spring采用的DI方式。DI有三种基本的实现方式,即Type1 IOC,Type2 IOC,Type3 IOC。
| DI三种实现方式 | |
| 类型 | 具体实现方式 |
| Type 2 | 通过setter方式来实现(spring推荐),只是因为set方法可以自定义方法名易于理解,且对参数较多的情况比较有利 |
| Type 3 | 通过constructor方式来实现,即构造器 |
| Type 1 | Interface injection,通过实现接口,且需要知道接口的方法,不推荐 |
- AOP
AOP是指Aspect-oriented programming的实现,面向行为编程,注意AOP框架只是Spring框架支持的一个子框架。
Spring的核心是一个容器,它实现了IOC的概念,可以协助管理各个对象的生命周期以及对象之间的依赖关系。核心容器主要需要关心的就是BeanFactory和ApplicationContext。

浙公网安备 33010602011771号