spring IOC的理解

发布时间 2023-04-04 23:16:04作者: 弯弓射雕的男人

spring IOC的理解.

 

 

(1)没有IoC的程序中,面向对象的编程,对象的创建和对象之间的依赖关系硬编码到程序中,有程序本身控制;

引入DI,对象的创建和对象之间的依赖关系交由第三方——Spring容器来控制。

IoC的本质是获取依赖对象的方式翻转了。

(2)IoC、DI、Spring 容器区别:

  • IoC:控制翻转,一种设计思想——把对象的实例化工作交由Spring容器来完成。一种通过描述(XML或注解)并通过第三方去生产或获取特定对象的方式
  • DI:依赖注入。实现IoC的方式,可以理解为IoC的另一种表示方式
  • Spring IoC Container:Spring容器,Spring框架实现IoC的组件。Spring容器在初始化时先读取配置文件,根据配置文件或元数据创建与组织对象存入容器中,程序使用时再从Ioc容器中取出需要的对象。

注:bean是一个广义的概念,任何的Java对象、Java组件都被当成Bean处理,由Spring创建和管理

BeanFactoryApplicationContext——Spring两大核心接口、两大Spring容器,生成Bean实例并管理Bean的生命周期。

(3)Spring创建对象的几种方式

  • 通过无参构造器创建
  • 通过有参构造器创建
  • 通过静态工厂创建
  • 通过实例工厂创建