首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 软件管理 > 软件架构设计 >

3-31配备多个bean名称

2012-09-02 
3-31配置多个bean名称XML配置文件:?xml version1.0 encodingUTF-8?beans xmlnshttp://www.spri

3-31配置多个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" 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的名字。

热点排行