@ConfigurationProperties简介
@ConfigurationProperties是Spring Boot中用于绑定属性配置文件中的属性值到Java Bean的注解。当我们在application.yml或application.properties文件中配置了某些属性值时,我们可以使用@ConfigurationProperties注解将这些属性绑定到对应的Java Bean上,从而可以在程序中访问和使用这些属性值。
使用@ConfigurationProperties注解需要注意以下几点:
1. 配置类需要使用@Component、@Service、@Controller等注解中的一个标识为Bean,以便Spring容器可以识别并实例化该Bean。
2. 配置类需要使用@ConfigurationProperties注解,指定需要绑定的属性前缀。如果属性没有指定前缀,则使用类名中第一个单词作为前缀。例如,配置类为com.example.MyConfig,则将使用myconfig作为前缀。
3. 在配置文件中,可以按照前缀.属性名=属性值的格式进行配置。例如,如果配置类使用的前缀是myconfig,则可以在配置文件中使用myconfig.property=value的格式进行配置。
4. 在属性值绑定时,Spring Boot会根据属性的类型自动进行类型转换,如果类型不匹配会抛出异常。为了避免类型转换失败的异常,我们可以在Java Bean中设置属性的默认值。
例如,我们可以使用@ConfigurationProperties注解来绑定一个名为com.example.demo的属性配置文件中的属性值:
```java
@Component
@ConfigurationProperties(prefix = "com.example.demo")
public class MyConfig {
private String name;
private int age;
private List<String> hobbies;
// getter和setter
}
```
然后在配置文件application.yml中进行如下配置:
```yaml
com.example.demo.name = John
com.example.demo.age = 18
com.example.demo.hobbies = ["reading","running"]
```
这样,我们就可以在程序中通过MyConfig实例访问配置文件中的属性值了。
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· TypeScript + Deepseek 打造卜卦网站:技术与玄学的结合
· Manus的开源复刻OpenManus初探
· AI 智能体引爆开源社区「GitHub 热点速览」
· C#/.NET/.NET Core技术前沿周刊 | 第 29 期(2025年3.1-3.9)
· 从HTTP原因短语缺失研究HTTP/2和HTTP/3的设计差异