我在src / main / groovy(ApiService.groovy)中有一个类。我在resources.groovy中将其定义为spring bean,因为我有多个实现。
此bean有一个属性:
apiService(ApiService) {
server = '${server.address}'
}
属性在外部属性文件中定义。
首次启动应用程序时一切正常。
但是,如果我更改文件ApiService.groovy,则在重新加载ApiService后服务器属性为null。
使用run-app启动应用时,我正在使用以下内容:
-reloading -Ddisable.auto.recompile = false
我也尝试运行Application.groovy,运行Gradle任务bootRun以及其他许多重新加载选项,但无济于事。
我也尝试过使用基于构造函数的args,使用resources.xml而不是resources.groovy但结果相同。
另外,仅仅为了测试,我在类本身的服务器属性中使用@Value注释,重新加载后一切都很好。
我在Intellij中运行,但从命令行运行相同的行为。
也许这不应该真正奏效,但任何建议/建议都会非常感激,以免我花费更多时间。