SpringBoot使用注解(@value)讀取properties(yml)文件中 配置信息


為了簡化讀取properties文件中的配置值,spring支持@value注解的方式來獲取,這種方式大大簡化了項目配置,提高業務中的靈活性。

1. 兩種使用方法
1)@Value("#{configProperties['key']}")

2)@Value("${key}")

2. 配置文件示例

ftp:
ftplp: 10.2.23.89
ftpPort: 21
ftpUser: uftp
ftpPwd: 12345678
ftpRemotePath: /home

說明:以上是配置文件中的信息,主要是一些賬號密碼等信息。

3. 讀取yml配置文件的工具類

 

package com.dbright.dataprediction.entity;

import org.springframework.beans.factory.annotation.Value;
import org.springframework.boot.context.properties.ConfigurationProperties;
import org.springframework.context.annotation.PropertySource;
import org.springframework.stereotype.Component;

@Component
@PropertySource("classpath:ftpconfig.yml")
@ConfigurationProperties(prefix = "ftp")
public class FtpProperties {

    @Value("${ftplp}")
    public String ftplp;
    @Value("${ftpPort}")
    public String ftpPort;
    @Value("${ftpUser}")
    public String ftpUser;
    @Value("${ftpPwd}")
    public String ftpPwd;
    @Value("${ftpRemotePath}")
    public String ftpRemotePath;

    public String getFtplp() {
        return ftplp;
    }

    public void setFtplp(String ftplp) {
        this.ftplp = ftplp;
    }

    public String getFtpPort() {
        return ftpPort;
    }

    public void setFtpPort(String ftpPort) {
        this.ftpPort = ftpPort;
    }

    public String getFtpUser() {
        return ftpUser;
    }

    public void setFtpUser(String ftpUser) {
        this.ftpUser = ftpUser;
    }

    public String getFtpPwd() {
        return ftpPwd;
    }

    public void setFtpPwd(String ftpPwd) {
        this.ftpPwd = ftpPwd;
    }

    public String getFtpRemotePath() {
        return ftpRemotePath;
    }

    public void setFtpRemotePath(String ftpRemotePath) {
        this.ftpRemotePath = ftpRemotePath;
    }
}

 

 

說明:以上是使用@value注解來讀取yml配置文件的代碼示例
1)@component —— 把普通pojo實例化到spring容器中,相當於配置文件中的`<bean id="" class=""/>`
2) @PropertySource("classpath:ftpconfig.yml") —— 設置yml文件的路徑,方便掃描到。一般我們配置文件都是放在resources包下。所以我們只需要 classpath+所需要讀取的配置文件名稱。
3)@ConfigurationProperties(prefix = "ftp") —— 這個不需要解釋太多,配置文件里面內容的前綴,我們讀取的是ftp下的信息。
4)@Value("${ftplp}") —— 這是讀取我們所需的配置信息,美元符號+{字段名}即可制定
5)下面定義字符串來接收所讀取到的配置信息。
6)寫set和get方法,方便外部類調用。

4. 演示:效果圖如下

可以看到,我們成功取到了我們想要的值。
5. 一開始說的第二種和這個差不多,把{}外的 $ 變成 # 號,然后里面指定配置文件的信息+字段而已。大同小異,我就不貼代碼上來了。

今天的內容就到這里啦,謝謝觀看!

有需要源碼的,或者有不理解,歡迎關注微信公眾號來討論,留言會回復的哦~

 

 

贊賞碼

 


免責聲明!

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



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