方式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"));