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