在Spring Boot中,可以使用@Value
注解來獲取yml中的變量。首先,在需要獲取變量的類中使用@Value
注解,然后在注解中指定要獲取的變量的屬性名,如下所示:
import org.springframework.beans.factory.annotation.Value;
import org.springframework.stereotype.Component;
@Component
public class MyComponent {
@Value("${my.variable}")
private String myVariable;
public String getMyVariable() {
return myVariable;
}
}
在上面的例子中,@Value("${my.variable}")
注解指定了要獲取的yml配置文件中的my.variable
屬性的值,并將其注入到myVariable
變量中。然后可以通過調(diào)用getMyVariable()
方法來獲取這個(gè)值。
另外,如果需要在整個(gè)應(yīng)用程序中獲取yml中的變量,也可以通過@Value
注解注入Environment
對象來實(shí)現(xiàn),如下所示:
import org.springframework.beans.factory.annotation.Value;
import org.springframework.core.env.Environment;
import org.springframework.stereotype.Component;
@Component
public class MyComponent {
@Value("${my.variable}")
private String myVariable;
private final Environment env;
public MyComponent(Environment env) {
this.env = env;
}
public String getMyVariable() {
return env.getProperty("my.variable");
}
}
在這個(gè)例子中,通過構(gòu)造函數(shù)注入Environment
對象,然后可以通過調(diào)用getProperty()
方法來獲取yml中的變量的值。