Grails 3.3.2 扩展 "NavigableMapConfig" 并覆盖 "get" 方法
Grails 3.3.2 extending "NavigableMapConfig" and overriding "get" method
我喜欢在用户尝试从“Holders
”访问属性时获取动态配置属性,例如:“Holder.config.testPropertyKey.userSpecific
”。
我调试了它,它转到 "NavigableMapConfig" class 的方法 "get" 实现了 "NavigableMap".
我试图扩展 "NavigableMapConfig" class 来验证 "get" 方法,但没有成功。
如果有人知道如何做到这一点,或者如果我在错误的道路上实现这一点需要建议。
我找到了解决方案:
在 "BootStrap.groovy" 文件中,我在 "Metaprogramming" 的帮助下为 "Holders" 方法覆盖了 "getConfig",如下所示:
ExpandoMetaClass.enableGlobally();
Holders.metaClass.static.getConfig = {
<you code goes here...>
}
我喜欢在用户尝试从“Holders
”访问属性时获取动态配置属性,例如:“Holder.config.testPropertyKey.userSpecific
”。
我调试了它,它转到 "NavigableMapConfig" class 的方法 "get" 实现了 "NavigableMap".
我试图扩展 "NavigableMapConfig" class 来验证 "get" 方法,但没有成功。
如果有人知道如何做到这一点,或者如果我在错误的道路上实现这一点需要建议。
我找到了解决方案:
在 "BootStrap.groovy" 文件中,我在 "Metaprogramming" 的帮助下为 "Holders" 方法覆盖了 "getConfig",如下所示:
ExpandoMetaClass.enableGlobally();
Holders.metaClass.static.getConfig = {
<you code goes here...>
}