Ioc DI bean实例化

发布时间 2023-05-16 16:58:42作者: 啥123

Ioc(控制反转)

使用对象时,由主动new产生对象转换为由外部提供对象,此过程中对象创建控制权由程序转移到外部,此思想为控制反转。

Spring实现了Ioc思想,Spring提供了一个容器,成为Ioc容器,用来充当Ioc思想中的外部。

Ioc容器可以管理大量对象的创建和初始化,管理的这些对象叫做Bean。

 

 DI依赖注入

在容器中建立bean与bean之间的依赖关系的整个过程成为依赖注入。

为了实现代码的解耦,Spring实现了这些功能:

使用Ioc容器管理Bean,(Ioc)

在Ioc容器内将有依赖关系的bean进行关系绑定。(DI)

 

Ioc容器创建的bean默认是单例对象,原因:很对对象创建之后就是调用其不同的方法,可以只创建一个对象 而且可以提高效率。

适合交给Ioc容器进行管理的对象:表现层对象,业务层对象,数据层对象,工具对象。就是可以重复使用的对象。

不适合交给Ioc容器进行管理的对象:封装实体的域对象。创建的对象每次都有不同的值,不适合重复使用。

 

bean实例化

bean本质是对象,创建bean使用构造方法完成,spring使用无参的构造方法实例化对象。

spring默认是使用构造方法创建对象的,什么代码都不写,spring就会使用构造方法创建对象。