IOC和DI的区别详解

Posted qianjinyan

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了IOC和DI的区别详解相关的知识,希望对你有一定的参考价值。

IOC 是英文inversion of control的缩写,意思是控制反转
DI 是英文Dependency Injection的缩写,意思是依赖注入

 

技术图片

 

下面用一个简单的例子来描述一下IOC和DI的关系

先看下总结:

依赖注入(DI)和控制反转(IOC)是从不同的角度的描述的同一件事情,就是指通过引入IOC容器,利用依赖关系注入的方式,实现对象之间的解耦。
ioc 控制反转,指将对象的创建权,反转到Spring容器 , 
DI 依赖注入,指Spring创建对象的过程中,将对象依赖属性通过配置进行注入

 

@Service  //交给spring管理

public class UserServiceImpl implements UserService {


  //自动注入它的实现类
    @Autowired
    private JdbcTemplate jdbcTemplate;


    @Override
    public List<User> findAll() {
        String sql = "select id, name,age  from user";
        List<User> list = jdbcTemplate.query(sql,new UserRowMapper());

        return list;
    }
}

  




以上是关于IOC和DI的区别详解的主要内容,如果未能解决你的问题,请参考以下文章

IOC与DI的区别

用IDEA详解Spring中的IoC和DI(挺透彻的,点进来看看吧)

Java开发Spring之IOC详解第一篇(xml开发常用APIben标签DI依赖注入)

详解依赖注入(DI)和Ioc容器

控制反转(IOC)和依赖注入(DI)的区别

控制反转(IOC)和依赖注入(DI)的区别