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; } }