Java开发中使用配置文件注入值

2022/5/24 1:21:36

本文主要是介绍Java开发中使用配置文件注入值,对大家解决编程问题具有一定的参考价值,需要的程序猿们随着小编来一起学习吧!

配置文件注入值

方式1:普通字符串

例如
caominglong.name=“曹明龙”
使用方式
@Value(“${caominglong.name}”)
private String name;
输出结果为:name = "曹明龙"

方式2:int、boolean类型

例如
caominglong.age=25
caominglong.sex=true

使用方式跟上面字符串的使用方式一致。

方式3:数组类型

例如
id=1,2,3
使用方式
@Value(“${id}”)
private int[] ids;

当不存在id的配置时,ids为非null,空数组。长度为0

方式4:list类型

id=1,2,3
使用方式
@Value(“#{'${id}'.split(",")}”)
private List<String> idList;

当不存在id配置时,集合idList的长度为1,存在值“”

方式5:map类型

例如:
user={name:'zs',age:'23'}
使用方式
@Value(“#{${user}}”)
private Map<String,String> userInfo;

额外

1.可以设置默认值
@Value("${name:cml}")
当不存在配置的时候,默认值为cml
2.在配置文件中配置中文的时候,需要配置为asill码
然后获取配置的时候需要转为utf-8格式
properties.load(new InputStreamReader(inputStream, “UTF-8”));
3.如果需要在修改配置文件的同时,也可以同步刷新获取的配置数据,那么就不能使用@Value的方式去获取配置,需要通过IO流的方式去获取配置。
4.yml跟properties文件中的配置有所差别
比如配置user={name:'zs',age:'23'}
properties不需要在外层加“”(双引号)
yml文件则需要添加“”(双引号)
5.如果在线上部署的时候,使用的是jar包外面的配置文件,那么获取的时候需要使用下面的方式
InputStream inputStream = new FileInputStream(new File(System.getProperty("user.dir") + File.separator + "application-scfw.properties"));


这篇关于Java开发中使用配置文件注入值的文章就介绍到这儿,希望我们推荐的文章对大家有所帮助,也希望大家多多支持为之网!


扫一扫关注最新编程教程