码迷,mamicode.com
首页 > 其他好文 > 详细

SimpleAliasRegistry implements AliasRegistry

时间:2016-10-20 15:08:40      阅读:145      评论: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
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!