用了一年的spring,該系列的博文會有點偏總結吧
這篇文章主要講的是spring 裡的bean名稱是如何產生的
class="com.zw.aop.test.myadvice"
id="myadvice">
bean>
@service
//@component
public
class
cachelockprocessor
@configurable
public
class
factory
}
本片文章主要是針對第一第二種場景:直接看spring原始碼是如何處理的:首先是看spring是如何讀配置檔案xml配置檔案的bean的public beandefinitionholder parsebeandefinitionelement(element ele, beandefinition containingbean)
string beanname = id;
if (!stringutils.hastext(beanname) && !aliases.isempty())
}if (containingbean == null)
abstractbeandefinition beandefinition = parsebeandefinitionelement(ele, beanname, containingbean);
if (beandefinition != null)
else
}if (logger.isdebugenabled())
}catch (exception ex)
}string aliasesarray = stringutils.tostringarray(aliases);
return
new beandefinitionholder(beandefinition, beanname, aliasesarray);
}return
null;
}
if (containingbean != null)
public
static string generatebeanname(
beandefinition definition, beandefinitionregistry registry, boolean isinnerbean)
throws beandefinitionstoreexception
else
if (definition.getfactorybeanname() != null)
}if (!stringutils.hastext(generatedbeanname))
string id = generatedbeanname;
if (isinnerbean)
else
}return id;
}
given bean definition will be registered
* as inner bean or
as top-level bean (allowing for special name generation
* for inner beans versus top-level beans)
string org.springframework
.beans
.factory
.support
.beandefinitionreaderutils
.generated_bean_name_separator = "#"
id =generatedbeanname + generated_bean_name_separator + counter;
*/
public
class
annotationbeannamegenerator
implements
beannamegenerator
}// fallback: generate a unique default bean name.
return builddefaultbeanname(definition);
}
protected string builddefaultbeanname(beandefinition definition)
直接由spring來進行建立,也就是類的名稱,第乙個字母該為小寫
接下來的博文會繼續介紹spring的原始碼,歡迎有興趣的同學進行討論
如何生成keystore
1,執行命令 keytool keystore azkaban.keystore alias jetty genkey keyalg rsa alias android.keystore 生成的keystore別名 keyalg rsa 加密和數字簽名的演算法 validity 1000 有效天數 ...
如何生成uimage
vmlinux是核心檔案,zimage是一般情況下預設的壓縮核心映像檔案,壓縮vmlinux,加上一段解壓啟動 得到。而uimage則是使用工具mkimage對普通的壓縮核心映像檔案 zimage 加工而得。它是uboot專用的映像檔案,它是在zimage之前加上乙個長度為64位元組的 頭 說明這個...
新手如何配置spring
這裡以4.2為例子 spring framework 4.2.1.release dist.zip 如果你只需要基本的beans ioc aop context 這四個spring的核心包 spring的其他包為企業應用擴充套件包 另外說明 spring需要依賴apache的common loggi...