@NestedConfigurationProperty 这个注解的作用
一、核心作用
1.1 主要功能
这个注解告诉 Spring Boot:
-
这是一个嵌套的配置属性对象,不是简单的值
-
需要递归处理这个对象内部的配置
-
启用 IDE 的配置元数据生成,提供代码提示
1.2 解决的问题
没有这个注解时,嵌套对象的配置不会自动绑定,也不会出现在配置元数据中。
1.3 使用示例
@ConfigurationProperties(prefix = "app") @Data public class AppProperties { private String name; @NestedConfigurationProperty private DatabaseProperties database; @NestedConfigurationProperty private SecurityProperties security; // Getter/Setter } @Data public class DatabaseProperties { private String url; private String username; private String password; private int poolSize = 10; } @Data public class SecurityProperties { private boolean enabled = true; private List<String> allowedIps = new ArrayList<>(); private OAuthProperties oauth; } @Data public class OAuthProperties { private String clientId; private String clientSecret; }
对应配置文件(application.yml)
app:
name: My Application
database:
url: jdbc:postgresql://localhost:5432/mydb
username: admin
password: secret
pool-size: 20
security:
enabled: true
allowed-ips:
- 192.168.1.1
- 192.168.1.2
oauth:
client-id: my-client
client-secret: my-secret
end!

浙公网安备 33010602011771号