IoC(控制反转)和DI(依赖注入)
IoC(Inversion of Control)控制反转,DI (Dependence Injection)依赖注入,2者指的是同一个概念。
DI:在某个类在new的时候,自己不去对其成员进行初始化,而依赖别的类帮其初始化,只提供一个方法,让帮其初始化的类有入口初始化这个类的成员。
IoC:初始化某个类的成员本来应该该类负责,这种设计思想初始化自己的成员交给别的类,即控制权转移,这就是控制权反转。同时面向对象的一个思想是:Don't call us,we'll call you(别找我,我会找你的。)
在struts2中为了取得web元素的引用:jsp内置对象:request,session,application,servlet中与之对应的元素:HttpServletRequest,HttpServletSession, HttpServletContext就可以用到IoC的思想。其uml序列图如下: