首页 > 其他 > 详细

SimpleAliasRegistry implements AliasRegistry

时间:2016-10-20 15:06:02      阅读:447      评论:0      收藏:0      [点我收藏+]
Spring - 4.2.3

// name,alias存储容器   ConcurrentHashMap  <alias,name>
private final Map<String, String> aliasMap = new ConcurrentHashMap<String, String>(16);

// 注册alias别名
public void registerAlias(String name, String alias)
1. 检查 name,alias 是否含有内容,否则抛出异常不能为空
Assert.hasText(name, "‘name‘ must not be empty");
Assert.hasText(alias, "‘alias‘ must not be empty");
2.
(1) alias与name相等,aliasMap.remove(alias)
(2) alias与name不想等,判断如果alias存储的name和将要存储的name,alias相同,不需要再注册
3.循环检查是否是一个直接或者间接的别名引用 规则是:{a=b,c=d,e=f}错误引用:{a=b,b=a}或{a=b,b=c,c=a},网上有的解释为:a是该链的除头部之外的某一节点就返回true.我的理解就是a->b->a,a->b->c->a类似这种间接引用的形式即为true,其实思想转换以后是一样的.

// 移除一个别名
public void removeAlias(String alias)

// 获取别名
public String[] getAliases(String name)
1.获取name的所有别名,{b=a,c=a,d=a,e=b} a的alias有 b,c,d,e

// 看不太懂
public void resolveAliases(StringValueResolver valueResolver)


 

SimpleAliasRegistry implements AliasRegistry

原文:http://www.cnblogs.com/queenns/p/5980526.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!