如何注入值到Spring bean属性 - Spring教程

在Spring中,有三种方式注入值到 bean 属性。

  • 正常的方式
  • 快捷方式
  • “p” 模式

看到一个简单的Java类,它包含两个属性 - name 和 type。稍后将使用Spring注入值到这个 bean 属性。

package com.yiibai.common;

public class FileNameGenerator 
{
    private String name;
    private String type;

    public String getName() {
        return name;
    }
    public void setName(String name) {
        this.name = name;
    }
    public String getType() {
        return type;
    }
    public void setType(String type) {
        this.type = type;
    }
}

1.正常方式

在一个“value”标签注入值,并附有“property”标签结束。

<beans xmlns="http://www.springframework.org/schema/beans"
    xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
    xsi:schemaLocation="http://www.springframework.org/schema/beans
    http://www.springframework.org/schema/beans/spring-beans-2.5.xsd">

    <bean id="FileNameGenerator" class="com.yiibai.common.FileNameGenerator">
        <property name="name">
            <value>yiibai</value>
        </property>
        <property name="type">
            <value>txt</value>
        </property>
    </bean>
</beans>

2,快捷方式

注入值“value”属性。

<beans xmlns="http://www.springframework.org/schema/beans"
    xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
    xsi:schemaLocation="http://www.springframework.org/schema/beans
    http://www.springframework.org/schema/beans/spring-beans-2.5.xsd">

    <bean id="FileNameGenerator" class="com.yiibai.common.FileNameGenerator">
        <property name="name" value="yiibai" />
        <property name="type" value="txt" />
    </bean>

</beans>

3. “p” 模式

通过使用“p”模式作为注入值到一个属性。

<beans xmlns="http://www.springframework.org/schema/beans"
    xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
    xmlns:p="http://www.springframework.org/schema/p"
    xsi:schemaLocation="http://www.springframework.org/schema/beans
    http://www.springframework.org/schema/beans/spring-beans-2.5.xsd">

    <bean id="FileNameGenerator" class="com.yiibai.common.FileNameGenerator" 
             p:name="yiibai" p:type="txt" />

</beans>

记住声明 xmlns:p=”http://www.springframework.org/schema/p" 在Spring XML bean配置文件。

总结

这些方法的使用完全是基于个人喜好,也不会影响注入bean属性的值。