Spring入门-属性注入

属性注入

构造方法注入

  • 索引方式
    <bean class="com.bug.Book" name="book">
        <constructor-arg index="0" value="Java"/>
        <constructor-arg index="1" value="199"/>
    </bean>
  • 指定name
<bean class="com.bug.Book" id="book2">
    <constructor-arg name="name" value="C++"/>
    <constructor-arg name="price" value="99"/>
</bean>

set方法注入

前提是需要有setter方法

    <bean class="com.bug.Book" id="book3">
        <property name="name"  value="python"/>
        <property name="price"   value="88.9"/>
    </bean>

p名称空间注入

    <bean class="com.bug.Book" id="book4" p:name="html" p:price="299.9">
    </bean>

c名称注入

<bean class="com.bug.Book" id="book5" c:name="js" c:price="19"/>

复杂属性注入

对象注入

在Book类中添加User属性,添加相应属性的get/set方法

    <bean class="com.bug.Book" id="book6">
        <property name="user" ref="user"/>
    </bean>

    <bean class="com.bug.User" id="user">
        <property name="name" value="xiaoyu"/>
        <property name="age" value="12"/>
        <property name="password" value="123"/>
    </bean>

运行如下代码:

    public static void main(String[] args) {
        ClassPathXmlApplicationContext ctx =  new  ClassPathXmlApplicationContext("application.xml");
        Book book= (Book) ctx.getBean("book6");
        System.out.println(book);
    }

结果:

Book{name='null', price=0.0, user=User{name='xiaoyu', password='123', age=12}}

数组和集合注入

在Book类中添加

 private User[] users;
 private List<String> author;
<bean class="com.bug.Book" id="book7">
        <property name="name" value="python"/>
        <property name="price" value="88.9"/>

        <!--数组方式-->
        <property name="users">
            <array>
                <ref bean="user"/>
                <bean class="com.bug.User" id="user2">
                    <property name="name"  value="li"/>
                    <property name="password"   value="123"/>
                    <property name="age"     value="18"/>
                </bean>
            </array>
        </property>
        <!--集合方式-->
        <property name="author">
            <list>
                <value>libai</value>
                <value>wanger</value>
                <value>zhangsan</value>
            </list>
        </property>
    </bean>

    <bean class="com.bug.User" id="user">
        <property name="name" value="xiaoyu"/>
        <property name="age" value="12"/>
        <property name="password" value="123"/>
    </bean>

Map注入

<property name="user">
    <map>
        <entry key="username" value="xiaoyu"/>
        <entry key="password" value="123"/>
    </map>
</property>

properties注入

添加属性private Properties properties以及对于的get/set方法

 <property name="properties">
            <props>
                <prop key="学号">20190604</prop>
                <prop key="性别"></prop>
                <prop key="姓名">小明</prop>
            </props>
</property>
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值