spring依赖注入

版权声明: https://blog.csdn.net/wangzhonglinqwe/article/details/79971964

spring-setter方式注入

被依赖的对象对象的创建无需早于需要依赖的对象,例如
假设有2个类

构造器注入:

<bean name ="simpleA" class="类的路径名字"/>
<constructor-arg name="model里面的成员变量" value="成员变量的赋值操作">
<constructor-arg name="变量1" value="我是变量1"/>
<constructor-arg name="变量2" value="我是变量2"/>

spring配置中property作为bean的属性。也就是指一个类中的成员。同时这个成员必须有get和set方法。
下面的simpleB依赖的与simpleA,那么需要在construction-arg ref属性中设置依赖的类在ioc容器中的名字; 以下为设值注入

<bean name="simpleB" class="类的全名 ——coplylified name">
<property name = "依赖的成员对象" ref="simpleA"/>
<property name = "我是成员变量">  value="设置注入”>

阐述作用:
simpleA对象是 一个类的实例,其通过构造器方式实例化。simpleB通过配置peroperty元素来调用setter方式以设置值。需要注意的是simpleB属性配置的是simpleA对象的引用

构造器注入

其中必须要有对应的构造器
这里涉及构造器的重载,一定要和类型匹配上

1、通过成员变量名匹配

<bean name ="simpleA" class="类的路径名字"/>
<constructor-arg name="model里面的成员变量" value="成员变量的赋值操作">
<constructor-arg name="变量1" value="我是变量1"/>
<constructor-arg name="变量2" value="我是变量2"/>

2、通过指数方式匹配

<bean name ="simpleA" class="类的路径名字"/>
<constructor-arg index="0" value="成员变量的赋值操作">
<constructor-arg index="1" value="我是变量1"/>
<constructor-arg index="2" value="我是变量2"/>

value值必须和设置的构造器的类型匹配上,否则会报错;当采用这种方式进行传值的时候,所有对应的参数必须全部设置

阅读更多
想对作者说点什么?

博主推荐

换一批

没有更多推荐了,返回首页