欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页

@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;
    }
}

 

相关标签: spingboot