springboot怎么獲取配置文件的值

小億
88
2024-01-11 02:41:13

在Spring Boot中,可以使用@ConfigurationProperties注解來(lái)獲取配置文件的值。

  1. 在application.properties或application.yml文件中定義配置項(xiàng),例如:

application.properties

myapp.name=My Application
myapp.version=1.0

application.yml

myapp:
  name: My Application
  version: 1.0
  1. 創(chuàng)建一個(gè)配置類(lèi),并使用@ConfigurationProperties注解來(lái)綁定配置項(xiàng),例如:
import org.springframework.boot.context.properties.ConfigurationProperties;
import org.springframework.stereotype.Component;

@Component
@ConfigurationProperties(prefix = "myapp")
public class MyAppProperties {
    private String name;
    private String version;

    // 省略getter和setter方法

    public String getName() {
        return name;
    }

    public void setName(String name) {
        this.name = name;
    }

    public String getVersion() {
        return version;
    }

    public void setVersion(String version) {
        this.version = version;
    }
}
  1. 在需要使用配置值的地方,通過(guò)依賴(lài)注入的方式獲取配置類(lèi)的實(shí)例,例如:
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.web.bind.annotation.GetMapping;
import org.springframework.web.bind.annotation.RestController;

@RestController
public class MyController {
    private final MyAppProperties appProperties;

    @Autowired
    public MyController(MyAppProperties appProperties) {
        this.appProperties = appProperties;
    }

    @GetMapping("/app-info")
    public String getAppInfo() {
        return appProperties.getName() + " " + appProperties.getVersion();
    }
}

在上述例子中,MyAppProperties類(lèi)使用@ConfigurationProperties注解的prefix屬性指定了配置項(xiàng)的前綴,Spring Boot會(huì)自動(dòng)將配置文件中以該前綴開(kāi)頭的配置項(xiàng)的值綁定到該類(lèi)的相應(yīng)屬性上。然后,在MyController類(lèi)中通過(guò)構(gòu)造函數(shù)注入MyAppProperties實(shí)例,并使用該實(shí)例獲取配置值。

0