Bean别名有两种配置方式
- 使用bean标签,name属性,多个别名使用逗号隔开
- 使用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
源码下载
git@github.com:Angryshark128/Practice.git