Spring属性注入的几种方式

1.方式一:通过set方法注入

    <bean id="user" class="com.fuke.domain.User">
        <property name="username" value="张三"/>
        <property name="password" value="1234"/>
    </bean>
@Data
public class User {
    private String username;
    private String password;
}

2.通过构造方法注入

<bean id="user" class="com.fuke.domain.User">
        <constructor-arg name="username" value="张三"/>
        <constructor-arg name="password" value="1234"/>
    </bean>
public class User {
    private String username;
    private String password;
    public User(String username,String password){
        this.username = username;
        this.password = password;
    }
}

3.p名称空间注入

这种方式的前提是引入标签,注意这种方式不能注入构造,只能注入set方式
xmlns:p=“http://www.springframework.org/schema/p”

<bean id="user" class="com.fuke.domain.User" p:password="132" p:username="张三">
</bean>

EL表达式属性注入

<bean id="dog" class="com.fuke.domain.Dog">
</bean>
<bean id="user" class="com.fuke.domain.User" >
    <property name="username" value="#{'张三'}"/>
    <property name="password" value="#{'李四'}"/>
    <property name="age" value="#{20}"/>
    <property name="dog" value="#{dog}"/>
</bean>

数组和集合属性注入

1.数组注入

        <property name="attr">
            <list>
                <value>13</value>
                <value>14</value>
            </list>
        </property>

2.list集合注入

 <property name="mylist">
            <list>
                <value>13</value>
                <value>14</value>
            </list>
        </property>

3.set集合注入

<property name="myset">
            <set>
                <value>000</value>
                <value>001</value>
                <value>002</value>
            </set>
        </property>

4.map集合注入

<property name="mymap">
            <map>
                <entry key="key01" value="value01"/>
                <entry key="key02" value="value02"/>
            </map>
        </property>
发布了47 篇原创文章 · 获赞 6 · 访问量 2190

猜你喜欢

转载自blog.csdn.net/weixin_44467251/article/details/102880737