别名

Jul 10, 2017 10:38:44 AM

作者:zozoh

如何定义一个别名

一个ioc bean,通常只有一个名字, 然而,在某些场景下,需要两个名称均指向同一个bean.

例如nutzmore中的插件,均以conf这个名称取PropertiesProxy的实例,而你的项目中已经定义为config,而且改起来麻烦,那这个时候,你就需要按下面的方式,定义一个影子bean了, 间接达到了别名的效果

  1. var ioc = {
  2. // 原有配置
  3. config : {
  4. type : "org.nutz.ioc.impl.PropertiesProxy",
  5. fields : {
  6. paths : ["custom/"]
  7. }
  8. },
  9. // 创建别名
  10. conf : {
  11. type : "org.nutz.ioc.impl.PropertiesProxy"
  12. fatcoty : "org.nutz.ioc.Iocs#self",
  13. args : [{refer:"config"}]
  14. }
  15. };

原理是啥? Iocs的self方法是静态方法,且只有一个参数,而内容,也就是会返回参数本身.

  1. public static Object self(Object obj) {
  2. return obj;
  3. }

本页面的文字允许在知识共享 署名-相同方式共享 3.0协议GNU自由文档许可证下修改和再使用。

原文: http://nutzam.com/core/ioc/alias.html