我有一个Spring Boot应用程序,它支持可以使用application设置的各种配置属性。Yaml、环境变量或系统属性。目前,了解支持哪些属性的唯一方法是询问周围的其他开发人员或深入研究属性对象的代码。有没有一种方法可以生成比这更好的文档形式?我搜索了,只是找不到任何答案,似乎没有人记录他们的配置,或者是在做一个特别的手工方式。理想情况下,通过属性可配置的bean应该具有javadoc风格的注释,它们将被Spring工具扫描,然后生成一个HTML或Markdown文档,其中包含所有支持的属性和从javadoc风格注释中提取的描述。
您可以尝试使用Spring文档中描述的spring-boot-configuration-processor
生成配置元数据文件。Spring将生成一个名为spring-configuration-metadata.json
的文件,其中包含所有@ConfigurationProperties
类的所有字段。如果properties类中的字段用Javadoc注释进行了注释,则该注释也将包含在JSON中。在IntelliJ中,如果你显示一个配置属性的描述,这个注释将会在弹出窗口中显示。
然而,这只适用于用@ConfigurationProperties
注释的类。这意味着,通过直接注入Spring@Value
注释(例如@Value("${myapp.my-setting}")
)来获得配置属性的类,这种方法将不起作用。但据我所知,这可能是您可以自动从Spring中获得最大收益的方法。
几个月前这个项目被创建,这就是你所期待的,它可以从你的spring-configuration-metadata.json
生成ascii, Markdown, HTML或XML文档,这是由' spring-boot-configuration-processor依赖项构建的。
试一试,它也有Maven和Gradle插件,如果你遇到一些讨厌的bug,请随时打开问题:)
https://github.com/rodnansol/spring-configuration-property-documenter
我最近评论了
是否有一个好的方法来记录Spring @Value字段?
非常相似
您可能想要阅读我在那里写的内容,以及我将如何使用为此目的创建的工具Jamal (https://github.com/verhas/jamal)。