其他分享
首页 > 其他分享> > 9.配置绑定-@ConfigurationProperties

9.配置绑定-@ConfigurationProperties

作者:互联网

如果我们直接使用原生配置文件的方式做配置的话,取值挺花时间的, 比如

public class getProperties {
     public static void main(String[] args) throws FileNotFoundException, IOException {
         Properties pps = new Properties();
         pps.load(new FileInputStream("a.properties"));
         Enumeration enum1 = pps.propertyNames();//得到配置文件的名字
         while(enum1.hasMoreElements()) {
             String strKey = (String) enum1.nextElement();
             String strValue = pps.getProperty(strKey);
             System.out.println(strKey + "=" + strValue);
             //封装到JavaBean。
         }
     }
 }

要遍历,还要筛选

如果用springboot提供的 @ConfigurationProperties 就会方便很多

1.先在配置文件中定义数据

比如

mycar.brand = YD
mycar.price = 5000

2.直接中实体类上使用注解 就直接绑定好了数据 ,直接拿前缀,然后在配备字段, 字段一定要和相同,不然找不到,注意要加到组件中才能使用springboot的功能

/**
 * 只有在容器中的组件,才会拥有SpringBoot提供的强大功能
 */
@Component
@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;
    }

    @Override
    public String toString() {
        return "Car{" +
                "brand='" + brand + '\'' +
                ", price=" + price +
                '}';
    }
}

 

3.第二中方式

@EnableConfigurationProperties 开启配置注解功能 那么谁要配置注解,car需要 就把car拿过来开启配置注解功能 另外这个注解还可以将 填写过来的类(car.class) 注册到容器中 这个注解写中myconfig类上 @ConfigurationProperties 这个就还是使用配置了 这个注解写在实体类上 好处是如果要配置源码中的类   而源码里没有注册组件,这个注解就可以使用了,把源码中的类开启配置注解 并加入组件,就可以直接吧yaml中的数据赋过去了  

 

标签:pps,配置,String,brand,绑定,price,ConfigurationProperties,注解,public
来源: https://www.cnblogs.com/dzs894330350/p/16651861.html