Bean的别名

package Class05;

import Class04.YuanFactory;
import org.apache.commons.logging.Log;
import org.apache.commons.logging.LogFactory;

public class Student1 {
    private static final Log LOGGER = LogFactory.getLog(Student1.class);
    public Student1() {
        LOGGER.info("Student1 Constructor");
    }

}
<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.xsd">

    <bean id="Student1" class="Class05.Student1" name="yuanxzh,yuanp,yuanjy"/>
    <alias name="Student1" alias="yuanjzh"/>




</beans>

我们通过下面这句

    <bean id="Student1" class="Class05.Student1" name="yuanxzh,yuanp,yuanjy"/>

为Student1起了yuanxzh,yuanp,yuanjy三个别名

我们还可以通过下面的语句起别名

<alias name="Student1" alias="yuanjzh"/>

下面是测试代码

 @Test
    public void testStudentAlias(){
        ApplicationContext context = new ClassPathXmlApplicationContext("Class05.xml");
        Student1 student =  context.getBean("Student1", Student1.class);
        Student1 yuanxzh =  context.getBean("yuanxzh", Student1.class);
        Student1 yuanp =  context.getBean("yuanp", Student1.class);
        Student1 yuanjy =  context.getBean("yuanjy", Student1.class);
        Student1 yuanjzh =  context.getBean("yuanjzh", Student1.class);
        System.out.println("student="+student);
        System.out.println("yuanxzh="+yuanxzh);
        System.out.println("yuanp="+yuanp);
        System.out.println("yuanjy="+yuanjy);
        System.out.println("yuanjzh="+yuanjzh);

    }

log

student=Class05.Student1@1060b431
yuanxzh=Class05.Student1@1060b431
yuanp=Class05.Student1@1060b431
yuanjy=Class05.Student1@1060b431
yuanjzh=Class05.Student1@1060b431

我们可以看到对象实际上一个。这也就说明iOC容器目前所有的beanId对应bean只有一个实例

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值