在编写Spring Boot应用程序的过程中,我们的团队添加了许多@Value
批注以帮助使事情可配置。在某些时候,我们开始完全不了解所添加的内容和可配置的内容。 QA和DevOps团队向我们提出了很多问题,这些问题涉及哪些可以配置,哪些不能配置。
当前,我们只是在代码库中进行grep并应用一些粗略的正则表达式来尝试解析出有意义的部分。但这并不能解决100%的情况,因此不可避免地,我们最终要仔细研究代码以找出可以配置哪些字段。
我知道我们可以使用JavaDoc来达到我们的目标,但是文档将与其他JavaDoc(方法,字段,类等)一起埋藏,并且仍然依赖于开发人员记住将JavaDoc添加到每个字段中。
有没有人找到一种更自动化的方式来记录其@Value
字段?我在想像Swagger之类的东西,但是专门针对Spring及其可以外部化配置的各种方式。
最佳答案
Javadoc的确是为开发人员(而非质量检查人员或操作人员)提供文档的一种方式。
您的问题确实很有趣,但是很难回答这个问题,因为@Value
是组件的实现细节。夸张地说,您引用REST的文档合同,这是一个重要的区别。
这里有一些想法:
实际上,您可以编写BDD集成测试(使用Cucumber或任何其他库),在其中记录并测试每个预期属性的存在。
configprops
:显示所有@ConfigurationProperties的整理列表。env
:公开Spring的ConfigurableEnvironment中的属性。@ConfigurationProperties
注入来对可一起使用的属性进行分组,而不是使用@Value
。将它们隔离在@ConfigurationProperties
类中并为它们添加javadoc完全可以证明它们的存在和使用。 caco3
建议的您可以轻松地从中生成自己的配置元数据文件
用@ConfigurationProperties注释的项目...
处理器选择带注释的类和方法
使用@ConfigurationProperties 。 内的字段值的Javadoc
配置类用于填充描述属性。
它与上一点结合:尽可能支持
@ConfigurationProperties
。