控制反转的理解
控制反转即IoC (Inversion of Control),它把传统上由程序代码直接操控的对象的调用权交给容器,通过容器来实现对象组件的装配和管理。所谓的“控制反转”概念就是对组件对象控制权的转移,从程序代码本身转移到了外部容器。
例如struts2中action 获取request对象:
package action; import javax.servlet.http.*; import com.opensymphony.xwork2.ActionSupport; import org.apache.struts2.interceptor.*; import javax.servlet.http.HttpServletRequest; public class MoreSubmitAction extends ActionSupport implements ServletRequestAware { private String msg; private javax.servlet.http.HttpServletRequest request; // 获得HttpServletRequest对象,依赖容器的注入,程序将控制权限反过来交给了容器 public void setServletRequest(HttpServletRequest request) { this.request = request; } }