ioc概述:ioc是Spring的内核,aop、声明式事务等都依赖于此功能,它涉及代码解耦、设计模式、代码优化等问题的考量。
(1)ioc的初步理解:例子:电影:《无间道》 -》 角色:刘建明 -》演员:刘德华
ioc的字面理解:控制(在这里是选择刘建明的扮演者的控制权)、
反转(在这里是指将控制权从无间道这个剧本交到导演上,对于软件来说,就是某一接口的具体实现控制权从调用类中移除,转交到第三方来实现)
DI概念的引入:让调用类对某一接口实现类的依赖关系有第三方注入,以移除调用类对某一接口实现类的依赖。
(2)ioc的注入类型:a、构造函数注入:通过调用类的构造函数,将接口实现类通过构造函数变量传入; b、属性注入:通过Setter方法完成调用类所需依赖的注入,更加灵活方便; c、接口注入:将调用类所有依赖注入的方法抽取到一个接口中,调用类通过实现该接口提供相应的注入方法。
(3)ioc的注入方式:Spring作为一个容器,通过配置文件或者注解描述类与类之间的依赖关系,自动完成类的初始化和依赖注入的工作。
网友评论