@ConfigurationProperties配置绑定
程序员文章站
2022-03-09 19:00:50
...
如果我们想将配置文件里面的值取出放到对象中,有以下两种方式
一、如果是自定义对象想取配置文件里面的值
配置文件值
server.port=8080
mycar.brand=benchi
mycar.price=30000
自定义实体类
package com.hjh.boot.bean;
import org.springframework.boot.context.properties.ConfigurationProperties;
import org.springframework.stereotype.Component;
@Component//将实体注入到spring ioc容器中
@ConfigurationProperties(prefix = "mycar")
public class Car {
private String brand;
private Integer price;
public String getBrand() {
return brand;
}
public void setBrand(String brand) {
this.brand = brand;
}
public Integer getPrice() {
return price;
}
public void setPrice(Integer price) {
this.price = price;
}
}
这样就可以将配置文件里面的值于实体对象里面的值绑定
二、如果是第三方依赖库,则需要在主配置类中使用@EnableConfigurationProperties
package com.hjh.boot.config;
import com.hjh.boot.bean.Car;
import org.springframework.boot.context.properties.EnableConfigurationProperties;
import org.springframework.context.annotation.Configuration;
@Configuration
@EnableConfigurationProperties(Car.class)
//开启Car配置绑定功能,把这个car组件自动注册到容器中
public class Myconfig {
}
此时的Car.class中需要修改成这样
@ConfigurationProperties(prefix = "mycar")
public class Car {
private String brand;
private Integer price;
public String getBrand() {
return brand;
}
public void setBrand(String brand) {
this.brand = brand;
}
public Integer getPrice() {
return price;
}
public void setPrice(Integer price) {
this.price = price;
}
}