什么是耦合?
A类的实现,依赖于B类的实例,A类创建时必须new B 类,可以说A类依赖于B类。
比如a类在实例化的时候需要一个b类的对象做参数 这个时候就可以说a类和b类之间是一种强耦合的关系~没有b类对象就无法实例化a类对象
这个时候把b由实体类改成接口的话只要是实现了b接口的所有类都可以当做a类对象实例化的参数,弱耦合
spring IOC:控制反转,指获得以来对象的过程被反转了。
控制被反转之后,获得依赖对象的过程由自身管理变为了由IOC容器主动注入。
“控制反转”也可以叫做“依赖注入(Dependency Injection)”,所谓依赖注入,就是由IOC容器在运行期间,动态地将某种依赖关系注入到对象之中。
IOC类型:构造函数注入、属性注入、接口注入。
接口注入需要额外声明一个接口,增加了类的数目,而且它的效果和属性注入并无区别,因此不提倡采用。
spring支持构造函数注入和属性注入。