Spring:核心IOC容器、DI依赖注入案例以及注入方式-List-Map注入详解(2)

什么是IOC Inverse of Control(控制反转)?

是一种设计思想 将原本在程序中手动创建对象的流程,交由Spring框架来管理 核心:以前创建对象主动权是自己把控,现在创建对象的控制权反转给Spring框架,DI依赖注入和控制反转是同一概念不同角度的描述。就是应用程序在运行时依赖IOC容器来动态注入对象需要的外部资源。对象的生命周期由Spring统一管理

Spring框架核心就是容器,里面存储管理的对象称为Bean,类实例。容器通过读取配置的元数据来接收对象进行实例化,配置和组装指定。元数据可以通过XML、java注解、java代码获取

Spring容器创建对象的时机

第一种:默认情况下,启动 spring 容器便创建对象(遇到bean便创建对象)
第二种:在spring的配置文件bean中有一个属性 lazy-init=“default/true/false”
    ①、如果lazy-init为"default/false"在启动spring容器时创建对象(默认情况)
     ②、如果lazy-init为"true",在context.getBean时才要创建对象

可以通过多少方式完成依赖注入
  • 构造函数注入
  • setter注入
  • 接口注入
  • 在springFramework中,仅使用构造函数和setter注入
SpringIOC实现机制

工厂模式和反射机制

一个容器中,存储多个Bean对象,帮助我们创建好,对象关系之间的依赖都可以维护
Spring:核心IOC容器、DI依赖注入案例以及注入方式-List-Map注入详解(2)_第1张图片

什么是DI Dependency Injection(依赖注入)

IOC容器在运行期间,动态地将对象某种依赖关系注入到对象之中,好比某一个类需要另一个类时࿰

你可能感兴趣的:(SpringFramework,spring,java,ioc,bean)