从application.properties中读取动态变量

时间:2019-03-25 11:25:45

标签: spring-boot

我正在从application.properties中读取名为clients的属性,例如:

clients=FI,S4

但是,现在我还想阅读其他属性,其中名称取决于clients属性的值,例如:

clients=FI,S4
marchentId.FI=12321321
marchentId.S4=11111111

如何根据clients属性的值读取这些属性?

1 个答案:

答案 0 :(得分:0)

您可以从此代码段中获取参考

import org.springframework.core.env.Environment;
public class Properties {

 @Autowired
 private Environment env;

 @Value("${clients}")
 private String[] clients;

 public List getClients(){
  return Arrays.asList(clients);
 }

// put single client Id to get corresponds merchant 
 public String getMarchentIdValue(String key)
 {
  String returnValue = "No value";

  String keyValue = env.getProperty(key);

  if( keyValue!= null && !keyValue.isEmpty())
  {
   returnValue = keyValue;
  }
  return returnValue;
 }
}