Spring自动装配Bean的五种方式

本文内容纲要:Spring自动装配Bean的五种方式

在Spring中,支持 5 自动装配模式。

no – 缺省情况下,自动配置是通过“ref”属性手动设定,在项目中最常用

byName – 根据属性名称自动装配。如果一个bean的名称和其他bean属性的名称是一样的,将会自装配它。

byType – 按数据类型自动装配。如果一个bean的数据类型是用其它bean属性的数据类型,兼容并自动装配它。

constructor – 在构造函数参数的byType方式。

autodetect – 如果找到默认的构造函数,使用“自动装配用构造”; 否则,使用“按类型自动装配”。

示例

1、Auto-Wiring "no"’这是默认的模式,需要通过 "ref" 属性来连接 bean。

package org.spring.autowring;

public class Person {

public Person(Ability ability){

super();

this.ability=ability;

}

private Ability ability;

public Ability getAbility() {

return ability;

}

public void setAbility(Ability ability) {

this.ability = ability;

}

@Override

public String toString(){

return "Person=[ablity=[skill="+this.ability.getSkill()+"]]";

}

}

package org.spring.autowring;

public class Ability {

private String skill;

public String getSkill() {

return skill;

}

public void setSkill(String skill) {

this.skill = skill;

}

}

1 <!-- no – 缺省情况下,自动配置是通过“ref”属性手动设定 -->

2 <bean id="person" class="org.spring.autowring.Person">

3 <property name="ability" ref="ability"></property>

4 </bean>

5 <bean id="ability" class="org.spring.autowring.Ability">

6 <property name="skill" value="Java Programming"></property>

7 </bean>

Image

2、Auto-Wiring "byName" 按属性名称自动装配

<!-- Auto-Wiring "byName" 按属性名称自动装配 -->

<bean id="person" class="org.spring.autowring.Person" autowire="byName"/>

<bean id="ability" class="org.spring.autowring.Ability">

<property name="skill" value="Java Programming"></property>

</bean>

3、Auto-Wiring "byType" 按属性名称自动装配

<!-- Auto-Wiring "byType" 按属性名称自动装配 -->

<bean id="person" class="org.spring.autowring.Person" autowire="byType"/>

<bean id="ability" class="org.spring.autowring.Ability">

<property name="skill" value="Java Programming"></property>

</bean>

4、constructor – 在构造函数参数的byType方式

<!-- constructor – 在构造函数参数的byType方式。 -->

<!-- 构造方法的参数 -->

<bean id="person" class="org.spring.autowring.Person">

<constructor-arg>

<ref bean="ability"></ref>

</constructor-arg>

</bean>

<bean id="ability" class="org.spring.autowring.Ability">

<property name="skill" value="Java Programming"></property>

</bean>

本文内容总结:Spring自动装配Bean的五种方式

原文链接:https://www.cnblogs.com/huangjianping/p/8093721.html

以上是 Spring自动装配Bean的五种方式 的全部内容, 来源链接: utcz.com/z/296173.html

回到顶部