3-31配备多个bean名称
3-31配置多个bean名称
XML配置文件:
测试文件:
你可以调用BEanFactory.getAliases(String)方法并将任意一个bean的名字作为参数传入来获取bean的别名清单。返回的列表中的名称的数量永远比指定给bean的名称总数量少一。少的是id,如果没有id。那么少的就是第一个名字。
当有很多bean使用一个bean的时候,要使这些bean引用另一个bean,那么最好的做法就是删除这一个bean,然后使后面添加的bean的别名为删除bean的名字。
XML配置文件:
<?xml version="1.0" encoding="UTF-8"?> <beans xmlns="http://www.springframework.org/schema/beans" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation=" http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans.xsd"> <bean id="name1" name="name2,name3,name4" class="java.lang.String"/> <alias name="name1" alias="namex1"/> <alias name="name1" alias="namex2"/> </beans>
测试文件:
package com.apress.prospring2.ch03.beanfactory; import org.springframework.beans.factory.BeanFactory; import org.springframework.beans.factory.xml.XmlBeanFactory; import org.springframework.core.io.ClassPathResource; /** * @author janm */ public class AliasDemo { public static void main(String[] args) { BeanFactory factory = new XmlBeanFactory( new ClassPathResource("/META-INF/spring/aliasdemo-context.xml")); String s1 = (String)factory.getBean("name1"); String s2 = (String)factory.getBean("name2"); String s3 = (String)factory.getBean("name3"); String s4 = (String)factory.getBean("name4"); String s5 = (String)factory.getBean("namex1"); String s6 = (String)factory.getBean("namex2"); System.out.println((s1 == s2)); System.out.println((s2 == s3)); System.out.println((s3 == s4)); System.out.println((s4 == s5)); System.out.println((s5 == s6)); } }
你可以调用BEanFactory.getAliases(String)方法并将任意一个bean的名字作为参数传入来获取bean的别名清单。返回的列表中的名称的数量永远比指定给bean的名称总数量少一。少的是id,如果没有id。那么少的就是第一个名字。
当有很多bean使用一个bean的时候,要使这些bean引用另一个bean,那么最好的做法就是删除这一个bean,然后使后面添加的bean的别名为删除bean的名字。