zoukankan      html  css  js  c++  java
  • Spring中applicationContext.xml的bean里的id和name属性区别

    这个问题看到网上很多回复的。

    我习惯id 从来没有想过还有name,最近看spring源代码分析 看到这一段。

    我猜想 可能设计的人兼容各种的习惯  现在大家都都习惯了 id

    结项代码如下

    
    

    看完下面代码 就明白 网上说name  中 第一个是bean 剩下是别名

     1     public BeanDefinitionHolder parseBeanDefinitionElement(Element ele, BeanDefinition containingBean) {
    获得id
    2 String id = ele.getAttribute(ID_ATTRIBUTE);
    获得name
    3 String nameAttr = ele.getAttribute(NAME_ATTRIBUTE); 4 等于别名数组 5 List<String> aliases = new ArrayList<String>(); 6 if (StringUtils.hasLength(nameAttr)) { 7 String[] nameArr = StringUtils.tokenizeToStringArray(nameAttr, BEAN_NAME_DELIMITERS); //分割符号 ,; 8 aliases.addAll(Arrays.asList(nameArr)); 9 } 10 11 String beanName = id;
    在别名数组剔除第一个
    12 if (!StringUtils.hasText(beanName) && !aliases.isEmpty()) { 13 beanName = aliases.remove(0); 14 if (logger.isDebugEnabled()) { 15 logger.debug("No XML 'id' specified - using '" + beanName + 16 "' as bean name and " + aliases + " as aliases"); 17 } 18 }
  • 相关阅读:
    vector的erase函数
    结构体定义容易混淆的地方
    JavaScript重点知识
    JS中预解析案例分析
    浏览器console控制台不显示编译错误/警告
    强烈推荐一款强大的公式编辑器软件AxMath
    DIV+CSS布局
    CSS-常见属性
    CSS-定义样式表
    CSS-使用CSS样式的方式
  • 原文地址:https://www.cnblogs.com/itxuexiwang/p/6396342.html
Copyright © 2011-2022 走看看