Spring Boot 外部配置

  1.命令行參數配置java

Spring Boot是基於jar包運行的,打成jar包的程序能夠直接經過spring

java -jar export.jar

能夠經過命令修改應用服務器端口安全

java -jar export.jar --server.port=9000

  2.常規屬性注入服務器

常規Spring環境下,可以使用@ProperySource指定properties文件位置,而後經過@Value注入值。app

在Spring Boot中只須要在application.properties定義屬性,直接使用@Value注入便可this

  3.類型安全的配置spa

每一個屬性都用@Value注入則略顯麻煩,Spring Boot提供了基於類型安全的配置方式,經過@ConfigurationProperties將properties屬性和一個Bean及其屬性關聯,實現類型安全。.net

// application.properties
book.name=Spring Boot
book.author=Spring

經過@ConfigurationProperties加載properties文件內的配置,經過prefix屬性指定properties的配置前綴,經過locations可執行properties文件位置。命令行

類型安全的Bean code

import org.springframework.boot.context.properties.ConfigurationProperties;
import org.springframework.stereotype.Component;

/**
 * @author Kevin
 * @description
 * @date 2016/7/6
 */
@Component
// application.properties默認加載 因此不須要指定locations
// @ConfigurationProperties(prefix = "book",locations={"classpath:author.properties"})
@ConfigurationProperties(prefix = "book")
public class Book {
    private String name;
    private String author;

    public String getName() {
        return name;
    }

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

    public String getAuthor() {
        return author;
    }

    public void setAuthor(String author) {
        this.author = author;
    }
}

  4.Profile配置

Profile是Spring用來針對不一樣環境對不一樣配置提供的支持。application-prod.properties(生產環境)、application-dev.properties(開發環境)。經過在application.properties中設置

spring.profiles.active=prod

指定加載不一樣的profile配置文件

相關文章
相關標籤/搜索