我编写了一个自定义处理器应用程序来读取MongoDB中的数据。在这个应用程序中,我使用 MongoTemplate 进行MongoDB操作,因此SpringBoot为属性加载提供了 MongoProperties 类。
然而,当我尝试白名单MongoProperties以便我可以在WebUI仪表板上看到这些属性时,我遇到了一些问题。它只显示“没有属性可用”。
我已按照文档中的23.1 Whitelisting application properties在 spring-configuration-metadata-whitelist.properties 文件中添加以下行
configuration-properties.classes=org.springframework.boot.autoconfigure.mongo.MongoProperties
在 pom.xml
中添加以下依赖项 <dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-configuration-processor</artifactId>
<optional>true</optional>
</dependency>
我在github上读过spring-cloud-stream-app-starters/mongodb 的代码。它似乎与我一样。
实际上,我已经编写了其他几个应用程序,WebUI通常会显示列入白名单的属性。唯一的区别是,在这些应用程序中,我创建了自己的 @ConfigurationProperty 类。
我可以问一下,我还应该做些什么来提供 @ConfigurationProperty 类(在我的情况下,MongoProperties)的弹簧启动列表?
非常感谢您的任何建议!
答案 0 :(得分:1)
更简单的调试方法是解压缩应用程序jar文件并验证是否:
META-INF/spring-configuration-metadata-whitelist.properties
META-INF/spring-configuration-metadata.json
在您的类路径中(通常通过app starter jar),spring-configuration-metadata-whitelist.properties
包含所需属性的条目