在Java中,@ConfigurationProperties注解是Spring Boot框架提供的一个注解,用于将配置文件中的属性绑定到一个类上。
通过@ConfigurationProperties注解可以将配置文件中的属性值注入到一个类的属性中,省去了手动读取配置文件的过程。
使用@ConfigurationProperties注解时,需要在类上添加@Component注解,使其成为一个组件,然后再添加@ConfigurationProperties注解并指定prefix属性,指定要绑定的配置文件属性的前缀。
示例代码:
package com.example.springbootinit;
import org.springframework.boot.context.properties.ConfigurationProperties;
import org.springframework.stereotype.Component;
@Component
@ConfigurationProperties(prefix = "person")
public class Person {
private String name;
private int age;
public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
public int getAge() {
return age;
}
public void setAge(int age) {
this.age = age;
}
@Override
public String toString() {
return "Person{" +
"name='" + name + '\'' +
", age=" + age +
'}';
}
}
在上面的示例中,添加了@Component注解,并使用@ConfigurationProperties注解将配置文件中以"person"为前缀的属性绑定到Person类的对应属性上。
假设配置文件中有以下属性:
server:
port: 8080
name: abc
person:
name: zhangsan
age: 20
通过自动装配的方式,即在其他组件中使用@Autowired注解将Person类注入进来,就可以获取到配置文件中对应的属性值。
@ConfigurationProperties注解还有其他可以配置的属性,例如ignoreUnknownFields,用于指定是否忽略在类中找不到对应属性的配置文件属性;ignoreInvalidFields,用于指定是否忽略配置文件中的无效属性等等。
总之,@ConfigurationProperties注解在Java中用于将配置文件中的属性值注入到一个类的属性中,方便程序使用配置文件中的属性。