依赖注入(Dependency Injection)还有一个名字,即控制反转(Inversion of Control ,IoC)
什么是控制反转?
控制反转就是由容器控制对象之间的关系,而非传统实现中,由程序代码直接操控。控制权由应用程序转移到了外部容器,这种控制权的转移,即所谓反转
什么是依赖注入?
依赖注入将对象创建和对象连接的责任从对象自身转移到了IoC容器,由容器在运行期间将对象之间的依赖关系注入到对象中
依赖注入和控制反转表达的都是同一个意思。
依赖注入要解决的就是组件的松耦合和可重用。Struts2框架内部使用它自己的依赖注入容器,同时,Struts2通过插件的方式来支持其它的IoC容器,包括:Spring和Plexus.