亚洲激情专区-91九色丨porny丨老师-久久久久久久女国产乱让韩-国产精品午夜小视频观看

溫馨提示×

溫馨提示×

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

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

Spring Boot全局配置和注解的操作方法有哪些

發布時間:2021-06-29 14:32:05 來源:億速云 閱讀:199 作者:chen 欄目:開發技術

這篇文章主要講解了“Spring Boot全局配置和注解的操作方法有哪些”,文中的講解內容簡單清晰,易于學習與理解,下面請大家跟著小編的思路慢慢深入,一起來研究和學習“Spring Boot全局配置和注解的操作方法有哪些”吧!

目錄
  • 零、學習目標

  •  一、全局配置文件概述

  • 二、Application.properties配置文件

    • 1、配置tomcat端口號和web虛擬路徑

    • 2、對象類型的配置與使用

    • 3、兩種屬性注解方式的對比

  • 三、Application.yaml配置文件

    • 四、兩種配置文件的比較

      • 五、課后作業

        零、學習目標

        1、掌握application.properties配置文件

        2、掌握application.yaml配置文件

        3、掌握使用@ConfigurationProperties注入屬性

        4、掌握使用@Value注入屬性

         一、全局配置文件概述

        全局配置文件能夠對一些默認配置值進行修改。Spring Boot使用一個application.properties或者application.yaml的文件作為全局配置文件,該文件存放在src/main/resource目錄或者類路徑的/config,一般會選擇resource目錄。

        二、Application.properties配置文件

        (一)創建Spring Boot的Web項目PropertiesDemo

        利用Spring Initializr方式創建項目

        Spring Boot全局配置和注解的操作方法有哪些

        設置項目元數據

        Spring Boot全局配置和注解的操作方法有哪些

        添加測試和Web依賴

        Spring Boot全局配置和注解的操作方法有哪些

        設置項目名稱及保存位置

        Spring Boot全局配置和注解的操作方法有哪些

        單擊【Finish】按鈕,完成項目初始化工作

        Spring Boot全局配置和注解的操作方法有哪些

        設置項目編碼為utf8

        Spring Boot全局配置和注解的操作方法有哪些

        (二)在application.properties里添加相關配置 點開resource目錄,查看應用程序屬性配置文件

        Spring Boot全局配置和注解的操作方法有哪些

        1、配置tomcat端口號和web虛擬路徑

        #修改tomcat默認端口號
        server.port=8888
        #修改web虛擬路徑
        server.servlet.context-path=/lzy

        Spring Boot全局配置和注解的操作方法有哪些

        更多配置屬性,詳見官網https://docs.spring.io/spring-boot/docs/current/reference/html/common-application-properties.html啟動應用,查看控制臺

        Spring Boot全局配置和注解的操作方法有哪些

        2、對象類型的配置與使用

        (1)創建Pet類

        在net.hw.lesson03里創建bean子包,在子包里創建Pet類

        Spring Boot全局配置和注解的操作方法有哪些

        package net.hw.lesson03.bean;
         
        /**
         * 功能:寵物實體類
         * 作者:華衛
         * 日期:2021年04月28日
         */
        public class Pet {
            private String type; // 類型
            private String name; // 名字
         
            public String getType() {
                return type;
            }
         
            public void setType(String type) {
                this.type = type;
            }
         
            public String getName() {
                return name;
            }
         
            public void setName(String name) {
                this.name = name;
            }
         
            @Override
            public String toString() {
                return "Pet{" +
                        "type='" + type + '\'' +
                        ", name='" + name + '\'' +
                        '}';
            }
        }

        (2)創建Person類

        在net.hw.lesson03.bean包里創建Person類

        Spring Boot全局配置和注解的操作方法有哪些

        package net.hw.lesson03.bean;
         
        import java.util.List;
        import java.util.Map;
         
        /**
         * 功能:人類
         * 作者:華衛
         * 日期:2021年04月28日
         */
        public class Person {
            private int id; // 編號
            private String name; // 姓名
            private List<String> hobby; // 愛好;
            private Map<String, String> family; // 家庭成員
            private Pet pet; // 寵物
         
            public int getId() {
                return id;
            }
         
            public void setId(int id) {
                this.id = id;
            }
         
            public String getName() {
                return name;
            }
         
            public void setName(String name) {
                this.name = name;
            }
         
            public List<String> getHobby() {
                return hobby;
            }
         
            public void setHobby(List<String> hobby) {
                this.hobby = hobby;
            }
         
            public Map<String, String> getFamily() {
                return family;
            }
         
            public void setFamily(Map<String, String> family) {
                this.family = family;
            }
         
            public Pet getPet() {
                return pet;
            }
         
            public void setPet(Pet pet) {
                this.pet = pet;
            }
         
            @Override
            public String toString() {
                return "Person{" +
                        "id=" + id +
                        ", name='" + name + '\'' +
                        ", hobby=" + hobby +
                        ", family=" + family +
                        ", pet=" + pet +
                        '}';
            }
        }

        (3)在application.properties里配置對象

        #配置對象
        person.id=1
        person.name=張三豐
        person.hobby=旅游,美食,音樂
        person.family.father=張云光
        person.family.mother=吳文燕
        person.family.grandpa=張宏宇
        person.famliy.grandma=唐雨欣
        person.family.son=張君寶
        person.family.daughter=張曉敏
        person.pet.type=泰迪犬
        person.pet.name=瑞瑞

        Spring Boot全局配置和注解的操作方法有哪些

        (4)給Person類添加注解

        添加注解@Component,交給Spring去管理

        Spring Boot全局配置和注解的操作方法有哪些

        添加注解@ConfigurationProperties(prefix = “person”)

        Spring Boot全局配置和注解的操作方法有哪些

        注意:采用@ConfigurationProperties注解方式,必須要有set方法,才會自動為Person類所有屬性注入相應的值,包括簡單類型和復雜類型

        (5)給Pet類添加注解

        • 添加注解@Component,交給Spring去管理

        • 添加注解@ConfigurationProperties(prefix = “person.pet”) - 可以不用添加

        Spring Boot全局配置和注解的操作方法有哪些

        (6)從Spring容器里獲取Person類的實例并輸出

        實現接口ApplicationContextAware,實現其抽象方法setApplicationContext

        Spring Boot全局配置和注解的操作方法有哪些

        聲明ApplicationContext對象,并在setApplicationContext里初始化

        Spring Boot全局配置和注解的操作方法有哪些

        創建測試方法testPerson(),從Spring容器中獲取Person類的實例并輸出

        Spring Boot全局配置和注解的操作方法有哪些

        運行測試方法testPerson(),查看結果

        Spring Boot全局配置和注解的操作方法有哪些

        (7)解決輸出結果的漢字亂碼問題

        使用JDK工具native2ascii.exe將漢字處理成uncode編碼

        Spring Boot全局配置和注解的操作方法有哪些

        D:\IdeaProjects\PropertiesDemo>cd src/main/resources
         
        D:\IdeaProjects\PropertiesDemo\src\main\resources>native2ascii -encoding utf8 application.properties
        #\u4fee\u6539tomcat\u9ed8\u8ba4\u7aef\u53e3\u53f7
        server.port=8888
        #\u4fee\u6539web\u865a\u62df\u8def\u5f84
        server.servlet.context-path=/lzy
         
        #\u914d\u7f6e\u5bf9\u8c61
        person.id=1
        person.name=\u5f20\u4e09\u4e30
        person.hobby=\u65c5\u6e38,\u7f8e\u98df,\u97f3\u4e50
        person.family.father=\u5f20\u4e91\u5149
        person.family.mother=\u5434\u6587\u71d5
        person.family.grandpa=\u5f20\u5b8f\u5b87
        person.famliy.grandma=\u5510\u96e8\u6b23
        person.family.son=\u5f20\u541b\u5b9d
        person.family.daughter=\u5f20\u6653\u654f
        person.pet.type=\u6cf0\u8fea\u72ac
        person.pet.name=\u745e\u745e
         
        D:\IdeaProjects\PropertiesDemo\src\main\resources>

        修改application.properties文件,漢字采用unicode編碼形式

        Spring Boot全局配置和注解的操作方法有哪些

        運行測試方法testPerson(),查看結果

        Spring Boot全局配置和注解的操作方法有哪些

        (8)從Spring容器里獲取Pet類的實例并輸出

        查看Pet類的注解,有配置屬性的注解@ConfigurationProperties(prefix = "person.pet")

        Spring Boot全局配置和注解的操作方法有哪些

        在測試類里添加測試方法testPet()

        Spring Boot全局配置和注解的操作方法有哪些

        運行測試方法testPet(),查看結果

        Spring Boot全局配置和注解的操作方法有哪些

        注釋掉Pet類的配置屬性的注解@ConfigurationProperties(prefix = "person.pet")

        Spring Boot全局配置和注解的操作方法有哪些

        再次運行測試方法testPet(),查看結果

        Spring Boot全局配置和注解的操作方法有哪些

        修改application.properties,配置寵物對象

        Spring Boot全局配置和注解的操作方法有哪些

        再次運行測試方法testPet(),查看結果

        Spring Boot全局配置和注解的操作方法有哪些

        大家可以看到,寵物對象的屬性依然沒有被注入,下面我們換一種屬性注解的方式,采用@Value注解方式。

        給Pet類的屬性添加值注解@Value

        Spring Boot全局配置和注解的操作方法有哪些

        再次運行測試方法testPet(),查看結果

        Spring Boot全局配置和注解的操作方法有哪些

        3、兩種屬性注解方式的對比

        •  采用@ConfigurationProperties注解方式,必須要有set方法,才會自動為所注解的類的全部屬性注入相應的值,包括簡單類型和復雜類型(List、Map、Pet……)。

        • 采用@Value注解方式,優點在于可以不要set方法,但是有兩點不足:其一、需要一個一個地注入,顯得麻煩;其二、對于復雜類型不能注入,比如Map、List、Pet等。

        三、Application.yaml配置文件

        1、備份application.properties文件 文件更名為application.back,即讓此文件不起作用

        Spring Boot全局配置和注解的操作方法有哪些

        2、在resoures目錄里創建application.yaml文件

        創建application.yaml文件

        Spring Boot全局配置和注解的操作方法有哪些

        配置服務器屬性

        Spring Boot全局配置和注解的操作方法有哪些

        配置person對象屬性

        Spring Boot全局配置和注解的操作方法有哪些

        配置pet對象屬性

        Spring Boot全局配置和注解的操作方法有哪些

        查看application.yaml文件內容

        #配置服務器
        server:
          port: 8888
          servlet:
            context-path: /lzy
         
        #配置person對象
        person:
          id: 1
          name: 張三豐
          hobby:
            旅游
            美食
            音樂
          family: {
               father: 張云光,
               mother: 吳文燕,
               grandpa: 張宏宇,
               grandma: 唐雨欣,
               son: 張君寶,
               daughter: 張曉敏
            }
          pet:
            type: 泰迪犬
            name: 瑞瑞
         
        #配置pet對象
        pet:
          type: 泰迪犬
          name: 瑞瑞

        3、運行測試方法testPerson(),查看結果

        Spring Boot全局配置和注解的操作方法有哪些

        4、運行測試方法testPet(),查看結果

        Spring Boot全局配置和注解的操作方法有哪些

        四、兩種配置文件的比較

        1、application.properties配置文件

        • 采用XML語法,鍵值對:鍵=值,沒有層次結構

        • 如果值里有漢字,必須得轉成unicode,否則會出現亂碼問題

        2、application.yaml配置文件

        • 采用YAML語法,鍵值對:鍵: 值(冒號與值之間有空格),具有層次結構

        • 允許值里有漢字,不必轉成unicode,也不會出現亂碼問題

        五、課后作業

        任務:修改StudentInfo項目輸出學生信息

        Spring Boot全局配置和注解的操作方法有哪些

        創建學生實體類Student

        Spring Boot全局配置和注解的操作方法有哪些

        添加屬性

        private String id;
        private String name;
        private String gender;
        private int age;
        private String major;
        private String telephone;
        private String email;
        private String hobby;
        • 添加getter和setter

        • 添加toString()方法

        • 添加注解@Component

        • 添加注解@ConfigureProperties

        • 將application.properties更名為application.yaml

        Spring Boot全局配置和注解的操作方法有哪些

        配置student對象屬性

        Spring Boot全局配置和注解的操作方法有哪些

        • 修改控制器StudentInfoController,student()方法里返回student的值

        • 運行啟動類

        Spring Boot全局配置和注解的操作方法有哪些

        在瀏覽器里訪問http://localhost:8080/student

        Spring Boot全局配置和注解的操作方法有哪些

        感謝各位的閱讀,以上就是“Spring Boot全局配置和注解的操作方法有哪些”的內容了,經過本文的學習后,相信大家對Spring Boot全局配置和注解的操作方法有哪些這一問題有了更深刻的體會,具體使用情況還需要大家實踐驗證。這里是億速云,小編將為大家推送更多相關知識點的文章,歡迎關注!

        向AI問一下細節

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

        AI

        彝良县| 乐都县| 金湖县| 阿合奇县| 三原县| 伊宁县| 绥化市| 金寨县| 青浦区| 股票| 新沂市| 丰原市| 芦山县| 衡山县| 苏尼特右旗| 玛多县| 桦甸市| 噶尔县| 柳河县| 龙川县| 本溪| 满洲里市| 隆回县| 洪江市| 凌云县| 壤塘县| 台东市| 大宁县| 石楼县| 宁晋县| 巴青县| 家居| 锦屏县| 康乐县| 庄浪县| 黎平县| 临沧市| 水城县| 安陆市| 怀柔区| 禄劝|