Spring依赖注入的几种方式

1.构造器注入

<bean name="product1" class="com.*.*.Product">

    <constructor-arg index="0" value="name"/>

    <constructor-arg index="1" value="9.95"/>

</bean>

对应的构造器为

public Product(String name, float price){...}

index的参数必须与构造器参数对应,基0.


2.默认无参构造器注入

<bean name="product2" class="com.*.*.Product"/>

对比第一种没有constructor-arg标签,故为默认无参构造器,类必须要有默认无参构造器,如果重载了构造器就必须加入显示的默认构造器。


3.setter方法注入

<bean name="user" class="com.*.*.User">

    <property name="product1" ref="product1">

    <property name="product2" ref="product2">

</bean>

ref为某个实例,通过setter注入,要注意的是用到的类getter和setter必须完善。被引用的对象的配置位置无关,可以在引用对象之后定义。


4.工厂方法注入

<bean name="product" class="com.*.*.Product"

    factory-method="getInstance"/>

所有方式中可以加入destiry-method标签指定销毁方法

<bean name="product" class="com.*.*.Product"

    factory-method="getInstance"

    destory-method="shutdown"/>



猜你喜欢

转载自blog.csdn.net/bat_xu/article/details/79971956
今日推荐