做电商网站外包,北京搬家公司费用,西安网站建设方案维护,网站没有百度快照介绍
Spring Boot中的Binder类是一个用于绑定属性的工具类。它可以将配置文件中的属性值绑定到Java对象中#xff0c;从而方便地进行配置管理。 简单示例
import org.springframework.boot.context.properties.bind.Binder;
import org.springframework.core.env.Environmen…介绍
Spring Boot中的Binder类是一个用于绑定属性的工具类。它可以将配置文件中的属性值绑定到Java对象中从而方便地进行配置管理。 简单示例
import org.springframework.boot.context.properties.bind.Binder;
import org.springframework.core.env.Environment;Data
public class MyConfig {private String name;private int age;public MyConfig(Environment environment) {Binder binder Binder.get(environment);this.name binder.bind(myconfig.name, String.class).orElse(lucifer);this.age binder.bind(myconfig.age, Integer.class).orElse(25);}
}使用Binder类将配置文件中的属性值绑定到这些属性中。在构造函数中首先获取了一个Binder实例然后使用bind方法将配置文件中的属性值绑定到Java对象中。如果属性不存在则使用默认值。 配置文件中属性
myconfig.nameJohn
myconfig.age25需要将Environment对象传递给MyConfig的构造函数以便Binder类可以访问配置文件中的属性值。在Spring Boot应用程序中可以通过Autowired注解将Environment对象注入到MyConfig类中。
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.context.annotation.Configuration;
import org.springframework.core.env.Environment;Configuration
public class AppConfig {Autowiredprivate Environment environment;public MyConfig myConfig() {return new MyConfig(environment);}
}常用方法
bind方法将配置文件中的属性值绑定到Java对象中。
ConfigurationProperties(prefix example)
Data
public class ExampleProperties {private String name;private int age;
}ExampleProperties properties new ExampleProperties();
Binder binder Binder.get(environment);
binder.bind(example, Bindable.ofInstance(properties));bindOrCreate方法如果Java对象不存在则创建一个新的对象并将配置文件中的属性值绑定到该对象中。
ExampleProperties properties Binder.get(environment).bindOrCreate(example, Bindable.of(ExampleProperties.class));bindProperty方法将配置文件中的单个属性值绑定到Java对象的属性中。
ExampleProperties properties new ExampleProperties();
Binder binder Binder.get(environment);
binder.bindProperty(example.name, Bindable.ofInstance(properties), String.class);bindAnnotations方法将Java对象中带有ConfigurationProperties注解的属性绑定到配置文件中的属性值。
Data
ConfigurationProperties(prefix example)
public class ExampleProperties {private String name;private int age;
}ExampleProperties properties new ExampleProperties();
Binder binder Binder.get(environment);
binder.bindAnnotations(properties);