@ConfigurationProperties 用于将配置文件(如 application.properties 或 application.yml)中的属性批量绑定到一个 Java Bean 中。
1. 定义配置文件
在 application.properties 或 application.yml 中定义一组具有相同前缀的属性。
application.yml :
yaml
person:
id: 1
name: tom
hobby:
- play
- read
- sleep
family:
- father
- mother
map:
k1: v1
k2: v2
pet:
type: dog
name: kity
application.properties :
yaml
person.id=1
person.name=tom
person.hobby=play,read,sleep
person.family=father,mother
person.map.k1=v1
person.map.k2=v2
person.pet.type=dog
person.pet.name=kity
2. 创建配置类
创建一个 Java Bean,并使用 @ConfigurationProperties 注解将配置文件中的属性绑定到该 Bean 中。
Person.java
java
import org.springframework.boot.context.properties.ConfigurationProperties;
import org.springframework.stereotype.Component;
import java.util.Arrays;
import java.util.List;
import java.util.Map;
@Component // 用于将Person类作为Bean注入到Spring容器中
@ConfigurationProperties(prefix = "person") // 将配置文件中以person开头的属性注入到该类中
public class Person {
private int id; //id
private String name; //名称
private List hobby; //爱好
private String[] family; //家庭成员
private Map map;
private Pet pet; //宠物
//省略getter,setter,toString
}
Pet.java
java
public class Pet {
private String type;
private String name;
//省略getter,setter,toString
}
3. 测试方法
java
@SpringBootTest
public class WebTest {
@Autowired
private Person person;
@Test
public void test(){
System.out.println(person);
}
}
4. 运行并测试
