【4】【Spring】,【Ioc/DI】,【IoC容器】,【Bean】

1、Ioc/DI,IoC容器,Bean

为了解决不同实现方式耦合度高

Ioc:(Inversion of Control)控制反转

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

spring提供了一个Ioc容器,用来充当Ioc思想中的“外部”

并且将创建或被管理的对象在Ioc容器中统称为Bean

 DI(Dependency Injection)依赖注入

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

将有关系的两个bean绑定

【Bean】入门案例

 1、管理什么?(Service和Dao)

2、如何将被管理的对象告知IoC容器?(配置)

3、被管理的对象交给IoC容器,如何获取到IoC容器?(接口)

4、IoC容器得到后,如何从容器中获取bean?(接口方法)

编写容器

 测试应用

  

总结流程:

1、导入Spring坐标

2、定义Spring管理的类(接口)

3、创建Spring配置文件,配置对应类作为Spring管理的bean

【DI】入门案例 

1、基于IoC的管理bean

2、Service中使用new形式创建的Dao对象是否保留?(否)

3、Service中需要的Dao对象如何进入到Service中?(提供方法)

4、Service与Dao之间的关系如何描述?(配置)

设置对象set方法

配置Service与Dao的关系

 

 此时new对象的过程就会交给容器自动的调用我们创建的set方法

Bean基础配置

1、bean基础配置

2、bean别名配置

3、bean作用范围配置

 可以在bean标签里用属性name=“” (双引号里可以定义多个别名,可以用空格或是,或是;分隔开)

bean默认是单例的,如果想要非单例,可以用scope属性=propertype修改

bean的作用范围说明(控制bean创建实例数量的)

1、为什么bean默认为单例的?(为了复用提高效率节省内存)

2、适合交给容器进行管理的bean

·表现层对象

·业务层对象

·数据层对象

·工具对象

3、不适合交给容器进行管理的bean

·封装实体的域对象

实例化bean的三种方式——构造方法(常用)

 

第四种方法:实现FactoryBean接口类

spring报错检查

报错:

直接拉到最后面看cause by...如果不能解决就再往上面看

猜你喜欢

转载自blog.csdn.net/qq_53478650/article/details/128810407