列举三种读取配置文件值的方法,记录一下
配置中的值
application.properties配置文件中去的具体值
zookeeper.server=127.0.0.1:2181
第一种
@value
在需要获取的参数上加@Value("${参数}")
例如
@Value("${zookeeper.server}")
private String zookeeperServer;
第二种Environment 方式
@Autowired
private static Environment environment;
@Autowired
public void set(Environment environment) {
TestController.environment = environment;
}
//具体读取
String espurl = environment.getProperty("zookeeper.server");
做项目的时候,@value一直取不到值,最后改成这个方式获取,
第三种用 Properties 方式获取
Properties properties=new Properties();
InputStream inputStream = this.getClass().getResourceAsStream("/application.properties");
BufferedReader bf = new BufferedReader(new InputStreamReader(inputStream,"GB2312"));
properties.load(bf);
String value = properties.getProperty("zookeeper.server");
第三种是因为当时配置中有中文值,改了具体的编码格式之后,本地可以读取,但是部署之后,依然乱码,然后找到这个一个方式,来读取中文值。