如果我们直接使用原生配置文件的方式做配置的话,取值挺花时间的, 比如
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中的数据赋过去了标签:配置,String,brand,绑定,price,ConfigurationProperties,注解,public From: https://www.cnblogs.com/dzs894330350/p/16651861.html