SpringBoot的注解@Configuration @value 的區別


@ConfigurationProperties(prefix="connection ")//與bean結合,為屬性賦值通過指定類名來綁定該類的屬性,支持松散語法,從屬性文件獲取類的屬性,默認從全局配置文件中獲取值;

我們想把配置文件的信息,讀取並自動封裝成實體類,這樣子,我們在代碼里面使用就輕松方便多了

@Component
@ConfigurationProperties(prefix="connection")
public class ConnectionSettings {

    private String username;
    private String remoteAddress;
    private String password ;

    public String getUsername() {
        return username;
    }
    public void setUsername(String username) {
        this.username = username;
    }
    public String getRemoteAddress() {
        return remoteAddress;
    }
    public void setRemoteAddress(String remoteAddress) {
        this.remoteAddress = remoteAddress;
    }
    public String getPassword() {
        return password;
    }
    public void setPassword(String password) {
        this.password = password;
    }

}

屬性松散綁定
表示駝峰式、下划線(_)、短橫線(-)

標准方式
person.firstName

方式一
大寫用-
person.first-name

方式二
大寫用_
person.first_name

三種方式,都可以使用
推薦,屬性書寫方式
PERSON_FIRST_NAME

@value(" ")  格式  ${  }

可以從配置文件單個獲取屬性值,只能取出一些簡單的值,不能獲取map,List等復雜類型的封裝

配置文件yml還是properties他們都能獲取:

我們只是在某個業務邏輯中需要獲取一下配置文件中的某項值,使用@value

如果,專門編寫了一個JavaBean來和配置文件進行映射;那我們直接使用@ConfigurationProperties一次性全部獲取

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM