1. 程式人生 > 其它 >service和工具類(utils)獲取yml中的配置

service和工具類(utils)獲取yml中的配置

application.yml檔案中配置如下

es:
#叢集名
clusterName: elasticsearch

1、@Value("${es.clusterName}")

在controller、service裡可以,在工具類中(Utils)不行

2、@ConfigurationProperties

注意 get set 方法不需要,且不能是static

@Component
@ConfigurationProperties(prefix = "es")
public class ElasticSearchConfig
{
/** 叢集名 */
public String clusterName;
  public void setClusterName(String clusterName) {
    this.clusterName = clusterName;
  }
  public String getApplicationName() {
    return applicationName;
  }
}

#service中

@Autowired
private ElasticSearchConfig searchConfig;
String ab = searchConfig.clusterName;
String bb = searchConfig.getClusterName();

 #工具類中

注意:@Compnent必須加

@Component
public class ClientUtil {
private static ElasticSearchConfig searchConfig;
@Autowired
public void setSearchConfig(ElasticSearchConfig searchConfig){
ClientUtil.searchConfig = searchConfig;
}
  public static void test() {
    String cc = searchConfig.clusterName;
    String dd = searchConfig.getClusterName();
  }
}