gpt4 book ai didi

java - 非 Controller 或 taglib 类的外部配置

转载 作者:行者123 更新时间:2023-11-30 11:43:58 25 4
gpt4 key购买 nike

我正在尝试为非 Controller 或 taglib 类创建外部配置,因为这些值需要在不重新编译的情况下更改。既然 ConfigurationHolder 和 ApplicationHolder 已弃用,我对此有何选择?

我已经进行了大约 3 个小时的谷歌搜索,似乎自从这些类被弃用以来,有人想出的唯一一件事就是使用 DI。但是,我需要此配置以某种方式位于 WAR 文件外部,所以我不知道这是否对我有帮助,除非我遗漏了什么?

谢谢

最佳答案

查看默认配置文件的第一行...

如果您取消注释这段代码,您将获得一个在应用程序启动时读取的外部配置。

因此,如果配置发生变化,您不必重新编译,只需重新启动您的应用程序。由于许多管理员会在夜间自动重启应用程序服务器,这应该不是什么大问题,不是吗?

// locations to search for config files that get merged into the main config
// config files can either be Java properties files or ConfigSlurper scripts

// grails.config.locations = [ "classpath:${appName}-config.properties",
// "classpath:${appName}-config.groovy",
// "file:${userHome}/.grails/${appName}-config.properties",
// "file:${userHome}/.grails/${appName}-config.groovy"]

// if(System.properties["${appName}.config.location"]) {
// grails.config.locations << "file:" + System.properties["${appName}.config.location"]
// }

为了从/src/groovy 中访问配置,看看这个问题:How to access Grails configuration in Grails 2.0?

顺便说一句:是的,configurationHolder 已被弃用,但它仍然有效:-)

关于java - 非 Controller 或 taglib 类的外部配置,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10988155/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com