2017年11月14日星期二

spring bean id 和 bean name一样时,谁优先??

查看SimpleAliasRegistry.canonicalName代码

  public String canonicalName(String name)
  {
    String canonicalName = name;
    String resolvedName;
    do
    {
      resolvedName = (String)this.aliasMap.get(canonicalName);//这里找得到别名的,就了别名
      if (resolvedName != null) {
        canonicalName = resolvedName;
      }
    }
    while (resolvedName != null);
    return canonicalName;
  }


可以知道,name优先了。

比如,定义
id=A name=B
id=B name=C

getBean(B)时,得到的是A

没有评论:

发表评论