让我们暂时忽略这样做是否是一个好主意,但是我为内部库创建了Spring Boot AutoConfiguration,作为其中的一部分,我想自动注册一个接受GET的Controller / POST / DELETE请求(它负责为应用程序测试目的设置/清除cookie值)
问题是我希望最终用户可以配置请求映射路径。我有一个@ConfigurationProperties(prefix = "my.configs")
类,其中包含所有配置值及其默认值,例如:private String path = "default-path"
理想情况下,我可以在我的控制器中引用它,如下所示:@RequestMapping(path=${my.configs.path})
但这不起作用,Spring报告说如果我将它放入属性中,它无法找到该配置参数文件而不是类型安全@ConfigurationProperties
它按预期工作。
我知道我可以通过在Request映射中添加一个默认值来解决这个问题,但是我想了解这里发生了什么,以及为什么我不能静态地将读取/默认的环境变量引用到{{1以我在文件中定义的方式。
答案 0 :(得分:0)
@RequestMapping
是一个Spring MVC注释,它由Spring MVC处理 - 无论它是否都包含在Spring Boot应用程序中。
@ConfiguationProperties
是100%Spring Boot代码,据我所知,在Spring Context启动生命周期的不同时刻处理这两种属性。