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...>
    }