Environment
-
springboot 1.x版本的属性绑定方法。
-
适合简单属性的获取,不适合复杂对象的绑定。
-
方法:
//判断是否包含键值 boolean containsProperty(String key); //获取属性值,如果获取不到返回null String getProperty(String key); //获取属性值,如果获取不到返回缺省值 String getProperty(String key, String defaultValue); //获取属性对象;其转换和Converter有关,会根据sourceType和targetType查找转换器 <T> T getProperty(String key, Class<T> targetType);
Binder
-
Springboot 2.x新引入的类,负责处理对象与多个ConfigurationPropertySource(属性)之间的绑定。
-
比Environment类好用很多,可以非常方便地进行类型转换,以及提供回调方法介入绑定的各个阶段进行深度定制。
//绑定对象 MailPropertiesC propertiesC = Binder.get(environment) //首先要绑定配置器 //再将属性绑定到对象上 .bind( "kaka.cream.mail-c", Bindable.of(MailPropertiesC.class) ).get(); //再获取实例 //绑定Map