Spring之IOC&DI

1、IOC

Inversion of Control 控制反转

public class UserServiceImpl{
    //UserDao由Service创建及维护

    private UserDao userDao = new UserDaoImpl();

    public void regist(User user){

        userDao.save(user);

    }

}

控制反转就是指UserServiceImpl本身不负责依赖对象的创建及维护,依赖对象的创建及维护交由外部容器来负责,这样控制权发生转移,控制权转移就是控制反转。

外部容器,及IOC容器:存储对象(Spring Bean)的容器,这些对象由Spring创建。UserServiceImpl在使用的时候直接到IOC容器中去拿就可以了。

2、DI

dependency injection 依赖注入 (IOC容器中存储的对象,这里获取使用)

public class UserServiceImpl{

    //UserDao由外部容器创建及维护

    private UserDao userDao;

    //让容器将创建好的对象注入到service中

    void setUserDao(UserDao userDao){

        this.userDao = userDao;

    }

    public void regist(User user){

        userDao.save(user);

    }

}

依赖注入是指在运行期,由外部容器动态的将依赖对象注入到组件。

发布了84 篇原创文章 · 获赞 40 · 访问量 23万+

猜你喜欢

转载自blog.csdn.net/ljb825802164/article/details/104339924