1

我在 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 中运行,但从命令行运行相同的行为。

也许这实际上不应该起作用,但任何建议/建议将不胜感激,以节省我花更多的时间。

4

0 回答 0