@ConfigurationProperties涉及多层怎么取值
时间: 2023-10-12 12:04:08 浏览: 104
在使用@ConfigurationProperties注解进行属性绑定时,涉及多层结构的情况下,可以通过创建嵌套类来表示多层结构,并使用@ConfigurationProperties注解进行属性绑定。例如,创建一个嵌套类来表示多层属性结构,并在该类上添加@ConfigurationProperties注解,指定对应的前缀。然后,通过在父类中引入嵌套类并使用@ConfigurationProperties注解进行属性绑定。具体操作步骤如下:
首先,在父类中引入嵌套类,并在该属性上添加@ConfigurationProperties注解,指定对应的前缀。例如:
```
@ConfigurationProperties(prefix = "parent")
public class ParentConfig {
private ChildConfig child;
// Getter and Setter for child
...
}
```
然后,在父类中创建一个嵌套类,表示多层属性结构,并在该类上添加@ConfigurationProperties注解,指定对应的前缀。例如:
```
@Data
public class ChildConfig {
private String value1;
private String value2;
// Getter and Setter for value1 and value2
...
}
```
最后,在引导类中使用@EnableConfigurationProperties注解指定父类,将其注入到Spring容器中。例如:
```
@EnableConfigurationProperties(ParentConfig.class)
@SpringBootApplication
public class MyApplication {
public static void main(String[] args) {
SpringApplication.run(MyApplication.class, args);
}
}
```
这样,就可以通过将多层结构的属性值注入到父类中,并在应用程序中访问这些属性值。例如,使用@Autowired注解将父类注入到其他组件中,并访问其中的属性值。
```
@Component
public class MyComponent {
@Autowired
private ParentConfig parentConfig;
public void doSomething() {
ChildConfig childConfig = parentConfig.getChild();
String value1 = childConfig.getValue1();
String value2 = childConfig.getValue2();
// Do something with value1 and value2
...
}
}
```
这样,就可以在应用程序中获取到多层结构的属性值了。<span class="em">1</span><span class="em">2</span><span class="em">3</span>
#### 引用[.reference_title]
- *1* *2* [SpringBoot学习笔记一](https://blog.csdn.net/weixin_51391532/article/details/127330905)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v92^chatsearchT3_1"}}] [.reference_item style="max-width: 50%"]
- *3* [【学习日记2023.5.30】之 管理端订单模块完善_调用百度地图优化用户端提交订单是否超出配送距离](https://blog.csdn.net/qq_42575689/article/details/130956400)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v92^chatsearchT3_1"}}] [.reference_item style="max-width: 50%"]
[ .reference_list ]
阅读全文