求教, springboot 元数据自动提示,如何配置 map、list 类型(也能正确提示)

2021-08-26 20:46:28 +08:00
 daiwenzh5

例如: application.yml

person:
    name: 张三
    age: 20
    friends:
    	1:
            name: 李四
            age: 18
        2: 
            name: 王五
            age: 22

Person.java

class Person {
	String name;
    int age;
    Map<Integer, Person> friends;
    
}

配置文件中 person.friends.1.name 是没有提示信息的,如何设置使得 map 属性也能正确的出现提示信息,且 key 可以是任意值(已知枚举可以提示)的。

1953 次点击
所在节点    Java
5 条回复
chendy
2021-08-26 20:50:02 +08:00
提示不了
spring-boot 自己的一些 Map 类型的配置也提示不了
zhenjiachen
2021-08-26 21:33:52 +08:00
用 properties 可以提示
daiwenzh5
2021-08-26 22:47:34 +08:00
@zhenjiachen 说的就是 properties 😫,不过对于属性是 map 、list 的并不能友好的显示提示信息
skai0dev
2021-08-26 23:13:41 +08:00
properties 可以提示,不过只能提示一层,person.friends.1.friends.1.name 这种提示不了

可以添加一个 json 文件设置配置的元数据: https://docs.spring.io/spring-boot/docs/current/reference/html/configuration-metadata.html

StackOverflow 上好像也有这种,不过是 string 类型的键:
https://stackoverflow.com/q/55157155
https://stackoverflow.com/q/59426567
https://stackoverflow.com/q/65184803
Kyle18Tang
2021-08-27 15:57:53 +08:00
spring-boot-configuration-processor 引用了吗, Properties 文件需要重新编译才能生效

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/798211

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX