Spring给bean属性赋值的三种方式

  1. property方式赋值 : 使用property给属性赋值 ,name指的是该类的属性名 ,value 指的是该属性对应的属性值 ,property 赋值也称为 set 赋值 ,需要赋值的属性,必须通过set方法 ,如果不提供set方法无法赋值,并且name的值也是由该类中set方法的名字命名的 ,命名规则为set去掉,首字母小写
<bean id="person1" class="com.stone.dome.model.Person">
        <property name="name" value="zs"></property>
        <property name="sex" value="男"></property>
        <property name="age" value="23"></property>
    </bean>
  1. 构造器赋值 (constructor-arg):每一个constructor-arg对应着构造器中一个属性,constructor-arg能填入的参数 name - 构造器中的属性名, value - 构造器中属性的值,index - 构造器中的索引位置(从0 开始) , type - 构造器中的属性类型(填全类名) 比如String 就填写为java.long.String。
<bean id="person3" class="com.stone.dome.model.Person">
        <!--
            每一个constructor-arg对应着构造器中一个属性
            name 代表构造器中的属性名, value代表给属性名赋值
         -->
        <constructor-arg name="name" value="ww"></constructor-arg>
        <constructor-arg name="sex" value="女"></constructor-arg>
        <constructor-arg name="age" value="25"></constructor-arg>
    </bean>


    <!-- 构造器赋值 name 可以省略 ,但是不推荐省略,如果要省略就必须严格按照构造器中属性的位置依次赋值-->
    <bean id="person4" class="com.stone.dome.model.Person">
        <constructor-arg  value="ww" ></constructor-arg>
        <constructor-arg value="女"></constructor-arg>
        <constructor-arg value="25"></constructor-arg>
    </bean>
  1. p 名空间赋值 p名称空间赋值需要先导入p命名空间
p命名空间 (在xml beans 中导入)xmlns:p=“http://www.springframework.org/schema/p”
<bean id="person5" class="com.stone.dome.model.Person"
    p:name="zl" p:age="26" p:sex="男">


    </bean>
经验分享 程序员 微信小程序 职场和发展