<output id="qn6qe"></output>

    1. <output id="qn6qe"><tt id="qn6qe"></tt></output>
    2. <strike id="qn6qe"></strike>

      亚洲 日本 欧洲 欧美 视频,日韩中文字幕有码av,一本一道av中文字幕无码,国产线播放免费人成视频播放,人妻少妇偷人无码视频,日夜啪啪一区二区三区,国产尤物精品自在拍视频首页,久热这里只有精品12

      spring 配置文件

      1、配置文件

      SpringBoot使用一個全局的配置文件,配置文件名是固定的;

      • application.properties
      • application.yml

      配置文件的作用:修改SpringBoot自動配置的默認值;
      SpringBoot在底層都給我們自動配置好;

      YMAL(YAML Ain't a Markup Language)
      YAML 是 "YAML Ain't a Markup Language"(YAML 不是一種標(biāo)記語言)的遞歸縮寫;
      在開發(fā)的這種語言時,YAML 的意思其實是:"Yet Another Markup Language"(仍是一種標(biāo)記語言);

      標(biāo)記語言:
      以前的配置文件:大多都使用的是xxx.xml文件;
      YMAL:以數(shù)據(jù)為中心,而不是以標(biāo)記語言為重點,而用反向縮略語重命名;

      2、YMAL語法

      基本語法

      • 大小寫敏感
      • 使用縮進表示層級關(guān)系
      • 縮進不允許使用tab,只允許空格
      • 縮進的空格數(shù)不重要,只要相同層級的元素左對齊即可
      • '#'表示注釋

      數(shù)據(jù)類型,YAML 支持以下幾種數(shù)據(jù)類型:

      • 對象:鍵值對的集合,又稱為映射(mapping)/ 哈希(hashes) / 字典(dictionary)
      • 數(shù)組:一組按次序排列的值,又稱為序列(sequence) / 列表(list)
      • 純量(scalars):單個的、不可再分的值

      參考:YMAL語法

      3、配置文件注入

      配置文件

      person:
        lastName: huhu
        age: 28
        boss: true
        birth: 2017/12/12
        maps: {k1: cslc,k2: 2}
        lists:
          - lisi
          - zhou
        dog:
          name: 小貓
          age: 18
      

      JavaBean

      /**
       * 將配置文件中配置的每一個屬性的值,映射到這個組件中;
       * @ConfigurationProperties: 告訴SpringBoot將本類中的所有屬性和配置文件中相關(guān)的配置進行綁定;
       *      prefix = "person":配置文件中哪個下面的所有屬性進行一一映射
       *
       * 只有這個組件是容器中的組件,才能容器提供的@ConfigurationProperties功能;
       */
      @Component
      @ConfigurationProperties(prefix = "person")
      public class Person {
      
          private String lastName;
          private Integer age;
          private Boolean boss;
          private Date birth;
      
          private Map<String,Object> maps;
          private List<Object> lists;
          private Dog dog;
      

      我們可以導(dǎo)入配置文件處理器,以后編寫配置就有提示了

              <!--導(dǎo)入配置文件處理器,配置文件進行綁定就會有提示 -->
              <dependency>
                  <groupId>org.springframework.boot</groupId>
                  <artifactId>spring-boot-configuration-processor</artifactId>
                  <optional>true</optional>
              </dependency>
      

      1、properties配置文件在IDEA中默認utf-8(或者GBK)可能會亂碼,要勾選編譯時轉(zhuǎn)為ACSI

      2、@Value獲取值和@ConfigurationProperties獲取值比較

      @ConfigurationProperties @Value
      功能 批量注入配置文件中的屬性 一個個指定
      松散綁定 支持 不支持
      SpEL 不支持 支持
      JSR303數(shù)據(jù)校驗 支持 不支持
      復(fù)雜類型封裝 支持 不支持
      • 配置文件yml還是properties它們都何以獲取值;
      • 如果,某個業(yè)務(wù)邏輯中需要獲取一下配置文件中的某項值,使用@Value;
      • 如果,專門編寫了一個java

      3、配置文件注入值數(shù)據(jù)校驗

      @Component
      @ConfigurationProperties(prefix = "person")
      @Validated
      public class Person {
      
          /**
           * <bean class="Person">
           *     <property name="lastName" value="字面量/${key}從環(huán)境變量、配置文件中獲取值/#{SpEL}"></property>
           * </bean>
           */
      
          //lastName必須是郵箱格式
          @Email
          //@Value("${person.last-name}")
          private String lastName;
          //@Value("#{12 * 2}")
          private Integer age;
          //@Value("true")
          private Boolean boss;
          private Date birth;
          private Map<String,Object> maps;
          private List<Object> lists;
          private Dog dog;
      

      4、@PropertySource和@ImportResource

      • @PropertySource :加載指定的配置文件;
      /**
       * 將配置文件中配置的每一個屬性的值,映射到這個組件中;
       * @ConfigurationProperties: 告訴SpringBoot將本類中的所有屬性和配置文件中相關(guān)的配置進行綁定;
       *      prefix = "person":配置文件中哪個下面的所有屬性進行一一映射
       *      @ConfigurationProperties(prefix = "person")默認從全局配置文件中獲取值;
       * 只有這個組件是容器中的組件,才能容器提供的@ConfigurationProperties功能;
       */
      @PropertySource(value = {"classpath:person.properties"})
      @Component
      @ConfigurationProperties(prefix = "person")
      @Validated
      public class Person {
      
          /**
           * <bean class="Person">
           *     <property name="lastName" value="字面量/${key}從環(huán)境變量、配置文件中獲取值/#{SpEL}"></property>
           * </bean>
           */
      
          //lastName必須是郵箱格式
          @Email
          //@Value("${person.last-name}")
          private String lastName;
          //@Value("#{12 * 2}")
          private Integer age;
          //@Value("true")
          private Boolean boss;
          private Date birth;
          private Map<String,Object> maps;
          private List<Object> lists;
          private Dog dog;
      
      • @ImportResource :導(dǎo)入Spring的配置文件,讓配置文件里的內(nèi)容生效;
        Sprin Boot里面沒有Spring的配置文件,我們自己編寫的配置文件,也不能自動識別;
        想讓Spring的配置文件生效,加載進來;@ImportResource 標(biāo)注在一個配置類上
      @ImportResource(locations = {"classpath:beans.xml"})
      導(dǎo)入Spring的配置文件讓其生效
      

      不來編寫Spring的配置文件

      <?xml version="1.0" encoding="UTF-8"?>
      <beans xmlns="http://www.springframework.org/schema/beans"
             xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
             xsi:schemaLocation="http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans.xsd">
      
          <bean id="helloService" class="com.myspringtest02.springboot.service.HelloService"></bean>
      </beans>
      

      SpringBoot推薦給容器中添加組件的方式;推薦使用全注解的方式;
      1、配置類======Spring配置文件
      2、使用@Bean給容器添加組件

      
      /**
       * @Configuration:指明當(dāng)前類是一個配置類,就是來代替之前的Spring配置文件
       *
       * 以前,在配置文件中用<bean></bean>標(biāo)簽添加組件
       */
      @Configuration
      public class MyAppConfig {
      
          // 將方法的返回值添加到容器中,容器中這個組件默認的id就是方法名
          @Bean
          public HelloService helloService(){
              System.out.println("配置類@Bean給容器中添加組件了...");
              return new HelloService();
          }
      }
      
      posted on 2021-06-02 13:42  呼呼小睡  閱讀(66)  評論(0)    收藏  舉報
      主站蜘蛛池模板: 五月天天天综合精品无码| 四虎库影成人在线播放| 国产第一页浮力影院入口| AV教师一区高清| 久久精品国产久精国产69| 中文字幕在线国产精品| 亚洲av伦理一区二区| 久久夜色撩人精品国产av| 国产av一区二区三区无码野战| 在国产线视频A在线视频| 中文 在线 日韩 亚洲 欧美| 亚洲开心婷婷中文字幕| 欧美精品一区二区三区中文字幕| 久久精品丝袜高跟鞋| 午夜射精日本三级| 国产精品无码dvd在线观看| 亚洲人黑人一区二区三区| 在线 欧美 中文 亚洲 精品| 亚洲精品久久国产高清| 亚洲国语自产一区第二页| 艳妇乳肉豪妇荡乳在线观看| 在线亚洲人成电影网站色www| 风流老熟女一区二区三区| 精品久久人人妻人人做精品| 国产精品v欧美精品∨日韩| 第一精品福利导福航| 精品人妻av区乱码| AV无码免费不卡在线观看| 日韩中文字幕V亚洲中文字幕| 亚洲国产超清无码专区| 99热久久这里只有精品| 国产一区二区三区小说| 午夜综合网| 哈巴河县| 亚洲国产精品久久久天堂麻豆宅男| 玖玖在线精品免费视频| 大香j蕉75久久精品免费8| 日韩av一中美av一中文字慕| 四虎国产精品久久免费地址| 国产成人一区二区三区免费| 亚洲精品中文av在线|