控制反转的理解

控制反转即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;
    }
}

 

posted @ 2012-12-11 16:05  赵子豪  阅读(191)  评论(0编辑  收藏  举报