让我们暂时忽略这样做是否是一个好主意,但是我为内部库创建Spring Boot AutoConfiguration,并且作为其中的一部分,我想自动注册一个接受GET/POST/DELETE请求的控制器(它负责为应用程序测试目的设置/清除cookie值)静态使用@ConfigurationProperties - 比如在@RequestMapping
问题是我希望请求映射路径可以由最终用户配置。我有一个@ConfigurationProperties(prefix = "my.configs")
类,它包含与他们的默认值,例如所有的配置值:private String path = "default-path"
理想我能在我的控制器引用这像这样:@RequestMapping(path=${my.configs.path})
但这不起作用,春季报告说,它无法找到那个配置参数,如果我把它放到一个属性文件中而不是安全的类型安全的@ConfigurationProperties
它按预期工作。
我知道我可以通过在Request映射中添加一个默认值来解决这个问题,但我想知道这里发生了什么,以及为什么我无法静态地将环境变量读取/默认设置为@ConfigurationProperties
我可以在文件中定义那些。