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

溫馨提示×

溫馨提示×

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

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

SpringBoot從yml配置文件中讀常用參數值實例方法

發布時間:2020-09-26 21:46:23 來源:腳本之家 閱讀:256 作者:菜弟弟 欄目:編程語言

SpringBoot現在基本上都是使用application-XXX.yml(生產環境為pro,開發測試環境為dev)來配置項目中的一些配置條件,在springboot中還可以通過從yml文件中將yml中的數據直接讀取出來。

1.yml文件(這里設置參數的時候往往設置兩層前綴,避免在調用的時候該屬性中的部分參數名與計算機中的某些名字沖突)

test:
 person:
  lastName: hello
  age: 18
  boss: false
  birth: 2017/12/12
  maps: {k1: v1,k2: 12}
  lists:
   - lisi
   - zhaoliu
  dog:
   name: 小狗
   age: 12

2.在JavaBean中讀取參數值,并且將讀取出來的值賦予到指定的屬性上

/**
 * 將配置文件中配置的每一個屬性的值,映射到這個組件中
 * @ConfigurationProperties:告訴SpringBoot將本類中的所有屬性和配置文件中相關的配置進行綁定;
 *   prefix = "testdemo.person":配置文件中哪個下面的所有屬性進行一一映射(yml文件中的參數名要和JavaBean中的屬性名保持一致)
 *
 * 只有這個組件是容器中的組件,才能容器提供的@ConfigurationProperties功能;
 *
 */
@Component
@ConfigurationProperties(prefix = "testdemo.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;
}

 3.pom.xml文件中導入依賴配置(注:這里可能需要啟動一下項目,使之生效)

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

4.@value 注解獲取yml配置文件中的數據,以及@Validated進行數據校驗

@Component
@Validated
public class Person {

  /**
   * <bean class="Person">
   *   <property name="lastName" value="字面量/${key}從環境變量、配置文件中獲取值/#{SpEL}"></property>   * <bean/>
   */

  //lastName必須是郵箱格式
  @Email
  @Value("${person.last-name}")
  private String lastName;
  @Value("#{11*2}")
  private Integer age;
  @Value("true")
  private Boolean boss;

  private Date birth;
  private Map<String,Object> maps;
  private List<Object> lists;
  private Dog dog;

5.@ConfigurationProperties(prefix = "person") 和 @value的區別

|          | @ConfigurationProperties       | @Value |
| ----------          |------------------------          | ------ |
| 功能         | 批量注入配置文件中的屬性    | 一個個指定 |
| 松散綁定(松散語法)   | 支持           | 不支持 |
| SpEL          | 不支持          | 支持 |
| JSR303數據校驗     | 支持           | 不支持 |
| 復雜類型封裝       | 支持           | 不支持 |

6.總結

配置文件yml還是properties他們都能獲取到值;

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

如果說,我們專門編寫了一個javaBean來和配置文件進行映射,我們就直接使用@ConfigurationProperties;

以上就是本次介紹的全部相關知識點,感謝大家的學習和對億速云的支持。

向AI問一下細節

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

AI

纳雍县| 浦江县| 临朐县| 修水县| 台州市| 兰坪| 铜山县| 彰化县| 博客| 柯坪县| 朝阳区| 博湖县| 重庆市| 措美县| 云阳县| 永春县| 车致| 白银市| 兰考县| 巴林右旗| 古浪县| 德江县| 敦化市| 宝鸡市| 维西| 舒兰市| 安阳市| 弥渡县| 房产| 昆山市| 勃利县| 无为县| 犍为县| 四川省| 丁青县| 边坝县| 海晏县| 灵山县| 连州市| 苍山县| 松阳县|