91超碰碰碰碰久久久久久综合_超碰av人澡人澡人澡人澡人掠_国产黄大片在线观看画质优化_txt小说免费全本

溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

Spring?Boot配置文件的作用與細則是什么

發布時間:2022-08-09 17:49:20 來源:億速云 閱讀:170 作者:iii 欄目:開發技術

這篇文章主要介紹了Spring Boot配置文件的作用與細則是什么的相關知識,內容詳細易懂,操作簡單快捷,具有一定借鑒價值,相信大家閱讀完這篇Spring Boot配置文件的作用與細則是什么文章都會有所收獲,下面我們一起來看看吧。

    一.配置文件的作用

    配置文件是非常重要的,整個項目中所有的重要數據都是在配置文件中進行配置的例如:

    • 數據庫的連接信息(用戶名和密碼的設置);

    • 項目啟動的端口;

    • 第三方系統調用的秘鑰信息;

    • 可以發現和定位問題的普通日志和異常日志等(日志的級別和持久化);

    如果沒有配置文件的話,這些信息就無法進行配置了,數據庫無法連接,日志無法查看等這些問題都是對于Spring Boot項目非常關鍵的,因此配置文件是特別重要的!

    二.配置文件的格式

    配置文件的分類一般是:

    • 系統的配置文件(系統定義好的),如連接字符串,日志的相關設置;

    • 用戶自己定義的;

    而Spring Boot的配置文件主要有兩種格式:

    • .properties

    • .yml

    Spring?Boot配置文件的作用與細則是什么

    就是這樣的兩種格式,而且這里也一定要這么寫,不然也是會報錯的(約定大于配置),在這兩個里面都是可以進行相關配置文件的設置的,兩種格式只是不同時間的產物罷了,另外兩種格式的寫法也是不同的,這個下面會有相關的介紹,而且這兩種格式也是可以并存的,如果兩個都配置了,這里的配置會采用properties里面的配置,而忽略yml里面的配置,因此不建議同時使用兩種格式再同一個項目中!

    三.properties配置文件的說明

    properties配置文件是更早期的配置文件格式,也是Spring Boot項目默認的配置文件,下面就具體介紹一下properties配置文件:

    1.properties基本語法

    在properties里面是以鍵值對為主的(key=value),類似于

    Spring?Boot配置文件的作用與細則是什么

    這樣的格式(中間不要寫空格,也不要寫多余的空格)

    如果是自定義的配置文件的話,也是key=value的形式,而這是需要自己寫的,如果要讀取這個文件也只能使用自己定義的key值來得到value值!

    2.讀取配置文件

    同樣也是使用注解就可以解決這個問題,這里使用@Value注解以及${}的格式就可以進行讀取了:

    @Controller
    public class Test {
        @Value("${server.port}") //讀取配置項
        private  String port;
        @ResponseBody  //返回一個非靜態頁面的數據
        @RequestMapping("/func")  //設置路由地址
        public String  func(){
            return "port: " + port;
        }
    }

    然后通過頁面搜索http://localhost:8080/func就看有觀察到讀取到的端口號了:

    Spring?Boot配置文件的作用與細則是什么

    而使用@Value是只能讀取一個配置文件的話,如果想讀取多個的話,需要多寫幾個@Value標簽就可以了

    3.properties的缺點

    在properties里面是采用key=value的形式,而如果是同一key下的value,就需要把此key值重復來寫,這就顯得非常冗余了

    Spring?Boot配置文件的作用與細則是什么

    而想要解決這個問題就需要使用yml配置文件了

    四.yml配置文件的說明

    yml是另一種格式的配置文件,yml 是?個可讀性?,易于理解,?來表達數據序列化的格式,yml的語法和高級語言非常類似,而yml最大的優勢是可以跨語言,像python,golang都可以使用yml作為配置?件。下面具體介紹一下yml配置文件:

    1.yml基本語法

    在yml里面的基本語法是:key: value,注意key和value之間需要英文冒號加空格,其中的空格也是不可省略的,類似

    Spring?Boot配置文件的作用與細則是什么

    這樣的語法再寫上面的連接數據庫配置的話,就方便很多了:

    Spring?Boot配置文件的作用與細則是什么

    補充:yml中關于單、雙引號的問題:yml中如果使用了雙引號就會按照(原)語義執行,如果不加,或者加了單引號,那么默認就會將字符串中的特殊字符進行轉義,比如\n -> \n(轉義)處理。

    2.讀取配置文件

    yml配置文件的讀取方式也是和properties一樣的,都是使用@Value注解加${}的格式,這里就不演示了,下面來看一下yml不一樣的地方!

    3.配置對象

    在yml里面還是可以配置對象的:

    Spring?Boot配置文件的作用與細則是什么

    另外也可以使用行內寫法:

    Spring?Boot配置文件的作用與細則是什么

    而想要讀取到這個對象的話就不能再使用@Value注解了,這里需要借助@ConfigurationProperties來讀取:

    import lombok.Data;
    import org.springframework.boot.context.properties.ConfigurationProperties;
    import org.springframework.stereotype.Component;
    @Data
    @ConfigurationProperties(prefix = "student") //讀取配置文件的對象
    @Component
    public class Student {
        private int id;
        private String name;
        private int age;
    }

    然后讀取對象,就可以直接進行注入了:

    @Controller
    public class Test {
        @Autowired
        private Student student;
        @ResponseBody
        @RequestMapping("/getstudent")
        public String getStudent(){
            return "student: " + student;
        }
    }

    然后通過瀏覽器搜索http://localhost:8080/getstudent就可以得到對象內容了:

    Spring?Boot配置文件的作用與細則是什么

    4.配置集合

    在yml里面也是可以配置集合的:

    Spring?Boot配置文件的作用與細則是什么

    同樣行內寫法也是可以的:

    Spring?Boot配置文件的作用與細則是什么

    而要獲取到集合的話,和獲取對象是差不多的,也是通過@ConfigurationProperties來獲取:

    import lombok.Data;
    import org.springframework.boot.context.properties.ConfigurationProperties;
    import org.springframework.stereotype.Component;
    import java.util.List;
    @Data
    @ConfigurationProperties(prefix = "dbtypes")
    @Component
    public class ListConfig {
        private List<String> name;
    }

    讀取集合:

    @Controller
    public class Test {
        @Autowired
        private ListConfig listConfig;
        @ResponseBody
        @RequestMapping("/getlist")
        public String getList(){
            return "name:" + listConfig.getName();
        }
    }

    然后通過瀏覽器搜索http://localhost:8080/getlist就可以得到對象內容了:

    Spring?Boot配置文件的作用與細則是什么

    五.properties和yml的區別

    • properties是以key=value的形式配置的鍵值對類型配置文件,而yml是以key: value的形式配置的鍵值對類型配置文件;

    • properties是早期且系統默認的配置文件格式,但配置存在一定的冗余數據,而yml可以更好的解決數據冗余問題;

    • yml通用性更好,支持多語言;

    • yml支持更多的數據類型;

    關于“Spring Boot配置文件的作用與細則是什么”這篇文章的內容就介紹到這里,感謝各位的閱讀!相信大家對“Spring Boot配置文件的作用與細則是什么”知識都有一定的了解,大家如果還想學習更多知識,歡迎關注億速云行業資訊頻道。

    向AI問一下細節

    免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

    AI

    青浦区| 桑植县| 万宁市| 林甸县| 霞浦县| 陇西县| 灌云县| 尼木县| 衡东县| 获嘉县| 遵义县| 雷州市| 临沂市| 怀安县| 伊通| 渝中区| 福安市| 沁源县| 青神县| 闽清县| 德钦县| 田东县| 黎城县| 山东省| 江口县| 广河县| 朔州市| 岱山县| 大方县| 静海县| 兴安盟| 常宁市| 安仁县| 莫力| 玛沁县| 台安县| 沽源县| 禄劝| 红桥区| 阿克陶县| 新源县|