@ConfigurationProperties 读取配置文件值
时间: 2023-10-12 21:19:02 浏览: 48
@ConfigurationProperties 是 Spring Boot 提供的一个注解,用于将配置文件中的属性值自动绑定到对应的 Bean 上。其作用类似于 @Value 注解,但更加灵活,可以将多个属性值绑定到一个 Bean 上,也支持将属性值绑定到一个 List 或 Map 中。
举个例子,假设我们有一个配置文件 application.properties,其中定义了如下属性:
```
myapp.name=My App
myapp.version=1.0.0
myapp.authors[0]=John Doe
myapp.authors[1]=Jane Doe
```
我们可以定义一个对应的配置类 MyConfig,使用 @ConfigurationProperties 将配置文件中的属性值绑定到该类上:
```
@ConfigurationProperties(prefix = "myapp")
public class MyConfig {
private String name;
private String version;
private List<String> authors;
// getters and setters
}
```
在该类中,prefix 属性指定了要绑定的属性的前缀,即 myapp,Spring Boot 会自动将该前缀下的属性值绑定到对应的属性上。我们也可以通过 @Value 注解逐个绑定属性值,但这样会比较麻烦,而且不支持绑定 List 或 Map 类型的属性。
相关问题
@ConfigurationProperties获取配置
@ConfigurationProperties是一个用于获取配置文件值的注解。可以通过将@ConfigurationProperties注解加到类上,然后使用方法一或方法二来获取配置文件的值。方法一是将@ConfigurationProperties注解和@Component注解一起使用,通过在类上加@ConfigurationProperties注解,然后在启动类上添加@Bean方法来生成实例,并将其交由Spring容器管理。方法二是将@ConfigurationProperties注解加在@Configuration类中的@Bean方法上,通过在配置类中添加@Bean方法来生成实例,并将其交由Spring容器管理。
@ConfigurationProperties注解用于外部化配置,如果想要绑定和验证外部属性(例如从.properties文件中读取的属性),可以将该注解添加到类定义或@Configuration类中的@Bean方法上。
@ConfigurationProperties注解同时支持注解和XML占位符,可以用于获取配置项。它可以管理被@Value注解修饰的配置项、使用XML占位符${}修饰的配置项,以及使用@ConfigurationProperties注解修饰的配置项。通过使用@ConfigurationProperties注解,可以实现对项目配置文件的全面管理。<span class="em">1</span><span class="em">2</span><span class="em">3</span>
#### 引用[.reference_title]
- *1* *2* [【@ConfigurationProperties获取配置文件的值】](https://blog.csdn.net/qq_29025955/article/details/124376608)[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^v93^chatsearchT3_2"}}] [.reference_item style="max-width: 50%"]
- *3* [bridge配置管理系统-其他](https://download.csdn.net/download/weixin_38723461/19589272)[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^v93^chatsearchT3_2"}}] [.reference_item style="max-width: 50%"]
[ .reference_list ]
@ConfigurationProperties读取一个List
和一个Map的示例类Config1Properties的区别是什么?<span class="em">1</span><span class="em">2</span><span class="em">3</span>
#### 引用[.reference_title]
- *1* *2* [【Spring Boot】配置文件@ConfigurationProperties,读取List、Map参数](https://blog.csdn.net/sayyy/article/details/83657119)[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^v93^chatsearchT3_2"}}] [.reference_item style="max-width: 50%"]
- *3* [配置文件@ConfigurationProperties读取List、Map参数](https://blog.csdn.net/weixin_34702885/article/details/115508591)[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^v93^chatsearchT3_2"}}] [.reference_item style="max-width: 50%"]
[ .reference_list ]