spring中用ref属性指定的三种方法

本文介绍了一个使用Spring框架进行依赖注入的实例,展示了如何通过XML配置文件定义不同类型的Bean引用,并实现HelloBean与HelloDate之间的依赖关系。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

package javamxj.spring.basic.ref;

public class HelloBean {
    private String hello;

    public String getHello() {
        return hello;
    }

    public void setHello(String hello) {
        this.hello = hello;
    }
}

package javamxj.spring.basic.ref;

import java.util.Date;

public class HelloDate {
    private Date date;

    private HelloBean hb;

    public void setDate(Date date) {
        this.date = date;
    }

    public void setHb(HelloBean hb) {
        this.hb = hb;
    }

    public void sayHello() {
        System.out.println(hb.getHello() + "  " + date.toLocaleString());
    }

}


<?xml version="1.0" encoding="GBK"?>
<!DOCTYPE beans public "-//SPRING//DTD BEAN//EN" "http://www.springframework.org/dtd/spring-beans.dtd">
<beans>
    
    <bean id="helloBean" class="javamxj.spring.basic.ref.HelloBean">
        <property name="hello" value="Hello! Child Bean." />
    </bean>
    
    <bean id="dateBean" name="#date" class="java.util.Date"/>

   

1.用bean属性指定(可以是id也可以是name)

    <bean id="hd1" class="javamxj.spring.basic.ref.HelloDate">
        <property name="hb">
            <ref bean="helloBeanParent"/>
        </property>
        <property name="date">
            <ref bean="#date"/>
            <!--<ref bean="dateBean"/>-->
        </property>

    </bean>


   2.用local指定(必须与id保持一致)
    <bean id="hd2" class="javamxj.spring.basic.ref.HelloDate">
        <property name="hb">
            <ref local="helloBean"/>
        </property>
        <property name="date">
            <ref local="dateBean"/>
        </property>
    </bean>

   

3.用parent属性指定

   <bean id="hd3" class="javamxj.spring.basic.ref.HelloDate">

        <property name="hb">
            <ref parent="helloBean"/>
        </property>
        <property name="date">
            <bean class="java.util.Date"/>
        </property>
    </bean>
    
</beans>






评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值