spring-boot讀取application配置文件中字段

配置文件爲application.properties

app-interface.url=http://192.168.2.179:8080/v1/
  • 目的:讀取 app-interface的url屬性

使用@ConfigurationProperties來注入配置參數

在AppApplication.java中的配置

@EnableConfigurationProperties({AppInterface.class}) 
@SpringBootApplication
public class AppServerApplication {

	public static void main(String[] args) {
		SpringApplication.run(AppServerApplication.class, args);
	}
}

AppInterface類中的配置

@Component
@ConfigurationProperties(prefix = "app-interface")
public class AppInterface {
  // 暫時不支持
  public static String url;
//  ="http://192.168.2.179:8080/v1/";
  
  public static String getUrl() {
    return url;
  }
  
  public static void setUrl(String url) {
    AppInterface.url = url;
  }
  
  public AppInterface() {
  }
  
}
  • 本類中全部的字段值均可從application.properties中前綴爲app-interface的屬性中獲取;

使用

1.能夠直接使用AppInterface.url使用 2.能夠@Autowired AppInterface appInterface;將AppInterface注入使用java

版本問題

  • 在 spring-boot 0.2.0-SNAPSHOT版中,Application.java中的@EnableConfigurationProperties({AppInterface.class}) 註解可不加,但AppInterface必須註冊成bean
  • 在 spring-boot 1.3.3中,AppInterface無須註冊成bean,但必須在配置類中加入@EnableConfigurationProperties({AppInterface.class}) 註解;

使用@Value("${protpertName}")來注入配置參數

@Component
public class BlogProperties {

    @Value("${app-interface.url}")
    private String appUrl;
    //省略get,set方法和構造器
    }

這種方法比較簡單,適合單個屬性值的注入spring

相關文章
相關標籤/搜索