IOC 是英文inversion of control的缩写,意思是控制反转
DI 是英文Dependency Injection的缩写,意思是依赖注入
下面用一个简单的例子来描述一下IOC和DI的关系
先看下总结:
依赖注入(DI)和控制反转(IOC)是从不同的角度的描述的同一件事情,就是指通过引入IOC容器,利用依赖关系注入的方式,实现对象之间的解耦。
ioc 控制反转,指将对象的创建权,反转到Spring容器 ,
DI 依赖注入,指Spring创建对象的过程中,将对象依赖属性通过配置进行注入
@Service //交给spring管理public class UserServiceImpl implements UserService {//自动注入它的实现类@Autowiredprivate JdbcTemplate jdbcTemplate;@Overridepublic List<User> findAll() {String sql = "select id, name,age from user";List<User> list = jdbcTemplate.query(sql,new UserRowMapper());return list;}
}