Grails:Config.groovy中的设置可以在运行时以编程方式覆盖吗?

wis*_*ame 4 grails

邮件插件文件,要求其Config.groovy中的设置.我想将它存储在数据库中,以便在运行时更改它.这只是一个例子.

我已经阅读了将敏感配置变量外部化为Config.groovy之外的.properties是否在Grails中提供了安全优势?但这是关于使用外部属性文件,我需要将设置存储在数据库中(该应用程序具有管理界面,具有审计功能等).

谢谢.

Dón*_*nal 6

Bootstrap.groovy你可以从数据库中读取的属性值,并通过更新替换那些从配置文件中读取grailsApplication.config.例如,假设您要替换名为的config属性的值foo.bar

class BootStrap {

    GrailsApplication grailsApplication

    def init = { servletContext ->

        def fooBarDB = // read the value of foo.bar from the database
        grailsApplication.config.foo.bar = fooBarDB
    }
}
Run Code Online (Sandbox Code Playgroud)

您可以改为使用动态配置插件来实现相同的结果,而不是自己编写此代码.