Spring Boot可以通過在application.yml
文件中定義屬性來讀取屬性。可以使用@Value
注解或@ConfigurationProperties
注解來讀取yml文件中的屬性。
@Value
注解讀取屬性:import org.springframework.beans.factory.annotation.Value;
import org.springframework.stereotype.Component;
@Component
public class MyComponent {
@Value("${myproperty}")
private String myProperty;
public void doSomething() {
System.out.println("My Property: " + myProperty);
}
}
@ConfigurationProperties
注解讀取屬性:
首先在application.yml
文件中定義屬性:my:
property: value
然后創建一個配置類來讀取屬性值:
import org.springframework.boot.context.properties.ConfigurationProperties;
import org.springframework.stereotype.Component;
@Component
@ConfigurationProperties(prefix = "my")
public class MyProperties {
private String property;
public String getProperty() {
return property;
}
public void setProperty(String property) {
this.property = property;
}
}
在其他類中可以直接注入這個配置類,并使用屬性值:
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Component;
@Component
public class MyComponent {
@Autowired
private MyProperties myProperties;
public void doSomething() {
System.out.println("My Property: " + myProperties.getProperty());
}
}
通過以上方法,Spring Boot就可以讀取并使用yml文件中的屬性值。