@ConfigurationProperties与@Value的区别
@ConfigurationProperties和@Value是Spring Boot中用于将配置文件中的属性注入到Java类中的注解。
@ConfigurationProperties注解可以通过前缀将配置文件中的属性注入到Java类的属性中。例如:
@ConfigurationProperties(prefix = "myapp")
public class MyAppConfig {
private String name;
private String version;
// getters and setters
}
上述代码将注入以"myapp"为前缀的属性到MyAppConfig类中的相应属性中。例如,如果在配置文件中设置了“myapp.name=My App”和“myapp.version=1.0”,则将注入到name和version属性中。
@Value注解可用于将单个属性注入到Java类的属性中。例如:
@Value("${myapp.name}")
private String name;
上述代码将配置文件中名为“myapp.name”的属性的值注入到name属性中。
总的来说,@ConfigurationProperties适用于将多个属性注入到一个Java类中,而@Value适用于将单个属性注入到一个Java类中。@ConfigurationProperties还提供了一些额外的功能,如属性验证和默认值。