控制反转IoC是一种设计思想,DI(依赖注入)是实现IoC的一种方法
- 就是为了解耦,减少对象之间的联系
-
依赖注入:注入!(配置文件,注解)
- 依赖:bean对象的创建依赖于容器
- 注入:bean对象的所有属性,由有容器注入
- ioc业务层就是父容器,向ioc表现层子容器注入
要求被注入的属性 , 必须有set方法 ,
控制反转IoC(Inversion of Control),是一种设计思想,DI(依赖注入)是实现IoC的一种方法,也有人认为DI只是IoC的另一种说法。没有IoC的程序中 , 我们使用面向对象编程 , 对象的创建与对象间的依赖关系完全硬编码在程序中,对象的创建由程序自己控制,控制反转后将对象的创建转移给第三方ioc容器,个人认为所谓控制反转就是:获得依赖对象的方式反转了
下面是管理对象几个类型:
当一个bean的作用域为Singleton,那么Spring IoC容器中只会存在一个共享的bean实例,比如service,只会调用,不会更改,mapper就不行,注入单例,更改不了,并且所有对bean的请求,只要id与该bean定义相匹配,则只会返回bean的同一实例。Singleton是单例类型,就是在创建起容器时就同时自动创建了一个bean的对象,不管你是否使用,他都存在了,每次获取到的对象都是同一个对象。