4.1 spring-alias 标签的解析;


  对于之前漫长的,最核心的Bean标签的解析就没什么好讲的了,

首先看看使用方法:

<bean id="car" name="cat0" class="entity.CarFactoryBean">
        <property name="carInfo" value="超级跑车,400,2000000" />
    </bean>
    <alias name="car" alias="cat1,cat2" />
    <alias name="car" alias="cat3,cat4" />

解析过程如下:

 1     /**
 2      * Process the given alias element, registering the alias with the registry.
 3      */
 4     protected void processAliasRegistration(Element ele) {
 5         // 获取beanName
 6         String name = ele.getAttribute(NAME_ATTRIBUTE);
 7         // 获取alias
 8         String alias = ele.getAttribute(ALIAS_ATTRIBUTE);
 9         boolean valid = true;
10         if (!StringUtils.hasText(name)) {
11             getReaderContext().error("Name must not be empty", ele);
12             valid = false;
13         }
14         if (!StringUtils.hasText(alias)) {
15             getReaderContext().error("Alias must not be empty", ele);
16             valid = false;
17         }
18         if (valid) {
19             try {
20                 // 注册alias
21                 getReaderContext().getRegistry().registerAlias(name, alias);
22             }
23             catch (Exception ex) {
24                 getReaderContext().error(
25                         "Failed to register alias '" + alias + "' for bean with name '"
26                                 + name + "'", ele, ex);
27             }
28             // 通知别名监听器
29             getReaderContext().fireAliasRegistered(name, alias, extractSource(ele));
30         }
31     }

 


免责声明!

本站转载的文章为个人学习借鉴使用,本站对版权不负任何法律责任。如果侵犯了您的隐私权益,请联系本站邮箱yoyou2525@163.com删除。



 
粤ICP备18138465号  © 2018-2025 CODEPRJ.COM