1.Userdao接口
2.UserDaoImpl实现类
3.UserService业务接口
4.UserS而viceImpl业务实现类
在我们之前的业务中,用户的需求可能会影响我们原来的代码,我们需要根据用户的需求去修改原来的代码,如果代码量十分大,修改一次的成本价十分昂贵!
我们使用一个Set接口实现,已经发生了革命性的变化!
private User userdao; //利用set动态实现值的注入! public void setUserDao(UserDao userDao){ this.userDao = userDao; }
这种思想从本质上解决了问题,我们程序员不再去管理对象的创建了。系统的耦合性大大降低,可以更专注在业务的实现上!
这是IOC的原型。
控制反转(inversion of control), 是一种设计思想,DI(dependency injection依赖注入)是IOC的一种方法.未使用IOC的程序中,我们使用面向对象编程,对象的创建和对象之间的依赖关系完全硬编码在程序中,对象的创建是由程序自己控制的.控制反转就是将对象的创建转移给了第三方.IOC就我认为是:获得依赖对象的方式反转了。