Spring 基础 控制反转和依赖注入

Spring框架两个最重要的知识点

1.IOC(控制反转)/DI(依赖注入):把整个项目中的所有对象交给Spring容器管理

         IOC:取到对象

         DI:对象的装配

         依赖注入有两种方式:

1.      属性值注入方式

a.     普通类型

Spring 基础 控制反转和依赖注入_第1张图片

注入方式

Spring 基础 控制反转和依赖注入_第2张图片

b.bean注入方式


Spring 基础 控制反转和依赖注入_第3张图片

测试结果

Spring 基础 控制反转和依赖注入_第4张图片


在使用普通类型方式注入的时候,我们会有一些特殊字符,处理这种特殊字符时

我们会想使特殊字符保持原有的样子,这时候就要使用CDATA,就如上一张图片所示

2.构造参数注值方式

在一般情况,一个类会有一个默认的无参构造函数,在这种情况下,属性注值,是可以调用的

如果没有无参构造,只有有参构造,注值时,就会报错

Spring 基础 控制反转和依赖注入_第5张图片

Spring 基础 控制反转和依赖注入_第6张图片

就会报如下错误

Spring 基础 控制反转和依赖注入_第7张图片

在我们一定要使用有参构造函数的时候,我们可以引constructor-arg    很好的解决这个问题



Spring 基础 控制反转和依赖注入_第8张图片

测试结果


使用constructor-arg

特别要注意的是,参数注值的顺序和有参构造的参数顺序要一致,不然也会报错

这样我们就要引用constructor-arg里面的属性值

index:表示参数值的位置

type:表示参数的类型



Spring 基础 控制反转和依赖注入_第9张图片


         

如果对象是一个集合又可以在bean外面调用,

利用命名空间

我们就要使用xmlnsutil



Spring 基础 控制反转和依赖注入_第10张图片Spring 基础 控制反转和依赖注入_第11张图片


这种方式是上面那种原始的方式

Spring 基础 控制反转和依赖注入_第12张图片

Spring的注值方式还有中。比如xmlns:p

也是一种注值的好方式

你可能感兴趣的:(spring,框架,控制反转,依赖注值)