Spring中Bean別名使用方法

Bean別名有兩種配置方式

  1. 使用bean標籤,name屬性,多個別名使用逗號隔開
  2. 使用alias標籤,name屬性爲參考bean,alias屬性爲別名

別名測試

新建AliasBean包,AliasBean類

package AliasBean;

import java.text.MessageFormat;

public class AliasBean {
    public void run() {
        System.out.println(MessageFormat.format("這是類:{0}", this.getClass()));
    }
}

新建xml配置文件

<?xml version="1.0" encoding="UTF-8"?>
<beans xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
       xmlns="http://www.springframework.org/schema/beans"
       xsi:schemaLocation="http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans.xsd">
    <bean id="aliasBean" name="aliasBean1,aliasBean2" class="AliasBean.AliasBean"/>
    <alias name="aliasBean" alias="aliasBean3"/>
</beans>

新建單元測試AliasBeanTest類

import AliasBean.AliasBean;
import org.junit.Test;
import org.springframework.context.ApplicationContext;
import org.springframework.context.support.ClassPathXmlApplicationContext;

public class AliasBeanTest {
    /**
     * 測試Bean別名使用
     */
    @Test
    public void aliasBeanTest() {
        ApplicationContext applicationContext = new ClassPathXmlApplicationContext("aliasBean.xml");

        AliasBean bean1 = applicationContext.getBean("aliasBean", AliasBean.class);
        AliasBean bean2 = applicationContext.getBean("aliasBean1", AliasBean.class);
        AliasBean bean3 = applicationContext.getBean("aliasBean2", AliasBean.class);
        AliasBean bean4 = applicationContext.getBean("aliasBean3", AliasBean.class);

        bean1.run();
        bean2.run();
        bean3.run();
        bean4.run();
    }
}

運行輸出:

這是類:class AliasBean.AliasBean
這是類:class AliasBean.AliasBean
這是類:class AliasBean.AliasBean
這是類:class AliasBean.AliasBean

源碼下載

[email protected]:Angryshark128/Practice.git

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章