溫馨提示×

溫馨提示×

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

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

怎么在SpringBoot調用yml配置文件

發(fā)布時間:2021-03-10 15:20:14 來源:億速云 閱讀:418 作者:Leah 欄目:編程語言

怎么在SpringBoot調用yml配置文件?相信很多沒有經驗的人對此束手無策,為此本文總結了問題出現(xiàn)的原因和解決方法,通過這篇文章希望你能解決這個問題。

1、yml配置文件書寫格式

格式是在普通配置文件中以“.”分割的屬性名稱,該為“: ”和換行。

例子:

//普通格式
spring.datasource.driver-class-name=com.mysql.jdbc.Driver

//yml格式
spring:
 datasource:
  driver-class-name: com.mysql.jdbc.Driver

注意:

1、在配置文件中的注解格式是

#注解

2、在spring與dataSource是相差兩個字母的。

3、在屬性與值之間有一個冒號和空格,并不是冒號之后直接書寫。

2、在controller層中取普通鍵值

以注解@Value("${屬性名}"),來取值。

controller層取值一般會賦值給屬性。

@Value("${offcn_ip}")
 private String port;
 @RequestMapping("/one")
 public String getOne(){
   return port;
 }

3、取pojo對象

1、在配置文件中書寫一個pojo對象

user:
 username: zhangsan
 age: 23
 id: 1

2、編寫實體類

在實體類中必須有@ConfigurationProperties 這個注解,并且指定prrfix前綴。

@ConfigurationProperties(prefix = "user")
public class User {
  private String username;
  private Integer age;
  private Integer id;

  public void setUsername(String username) {
    this.username = username;
  }

  public String getUsername() {
    return username;
  }

  public Integer getAge() {
    return age;
  }

  public void setAge(Integer age) {
    this.age = age;
  }

  public Integer getId() {
    return id;
  }

  public void setId(Integer id) {
    this.id = id;
  }

  @Override
  public String toString() {
    return "User{" +
        "name='" + username + '\'' +
        ", age=" + age +
        ", id=" + id +
        '}';
  }
}

3、使用

@RestController
@EnableConfigurationProperties({User.class})
public class Yml {
  @Autowired
  User user;
  @RequestMapping("/one")
  public String getOne(){
    return user.toString();
  }
}

EnableConfigurationProperties注解需要加在調用類上,或者加在啟動類SpringbootSimpleApplication上也可以。

這就是一個簡單的對于yml配置文件中內容的調用,訪問請求路徑便能獲得數(shù)據(jù)。

看完上述內容,你們掌握怎么在SpringBoot調用yml配置文件的方法了嗎?如果還想學到更多技能或想了解更多相關內容,歡迎關注億速云行業(yè)資訊頻道,感謝各位的閱讀!

向AI問一下細節(jié)

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

AI