SpringBoot入門實踐(二)-配置文件及應用程序經常使用屬性

 個人博客:蘭陵笑笑生,歡迎瀏覽博客!html

 上一章 SpringBoot入門實踐(一)-快速入門當中,咱們快速的新建了一個SpringBoot工程,實現了瀏覽器請求一個路徑,要求運行的服務返回指定的結果。本章我將整理一篇關於配置文件的介紹。java

  咱們開發的項目少不了各類各樣的配置,在以往我使用過靜態的類來放一些項目中使用到的一些配置值。也使用過properties 文件存儲一些值。固然這些都是能夠的。SpringBoot建議咱們採用yml這樣的文件來存儲。說到YAML網上有不少的介紹,咱們只要記住YAML文件具備很強的表達能力和擴展性就夠了。對,就是容易讀懂。還記得咱們生成的項目結構麼? 在項目resource目錄下:會有一個 application.properties 文件。固然咱們能夠修改爲application.yml文件。spring

基本語法:

 springBoot的端口配置,springBoot項目的默認端口是8080,即若是咱們不在配置文件中配置,那麼端口就是8080.咱們將端口修改爲8081數據庫

server:
 port: 8081

 基本語法:K-V 鍵-值對方式,port是鍵,8081是值。以空格的縮進來表示層級關係。數組

即port是server下的port。屬性和值存在大小寫敏感的。瀏覽器

字面量

 值默認是不用加」」 號的,加了雙引號不轉義字符串的特殊字符。單引號,會轉義字符串的特殊字符。緩存

對象、map、數組在YAML文件中表示方法

 在開發的時候,咱們常常爲一些對象配置一些值。好比以User類爲例:app

/**
 * @Component 表示 springBoot會啓動加載這個類,必須是一個組件才能獲取配置文件的值。
 * @ConfigurationProperties 綁定YMAL的配置到該類上。
 *  prefix 表示在配置文件中去:user開頭的
 */

@Component
@ConfigurationProperties(prefix = "user")
public class User {

  private String userName;

  private int age;

  private Map<String,Object> maps;

  private List<Object> lists;

 
.....


}

 application.yml配置spring-boot

server:
 port: 8081
 
user:
 userName: 王寶強
 age: 48
 maps: { k1:v1,k2:v2 }
 lists:
  - 馬蓉
  - hello 樹先生

測試一下測試

@Controller
public class HelloController {

  @Autowired
  User user;
  
  @ResponseBody
  @RequestMapping("/user")
  public User user(){
   return user;
  }

}

file

@value的註解取值

除了給JAVA bean注入屬性外,咱們還能夠經過@value獲取數據。

@Controller
public class YAMLTest {

  @Value("${user.userName}")

  private String userName;

  @ResponseBody
  @RequestMapping("/test1")
  public String test1(){
   return "姓名:"+userName;

  }
}

 測試結果

file

在實際的項目開發中,以上兩種方式都常常用到。

經常使用的springBoot配置屬性

spring:
 profiles:
  active: dev

 用來切換配置文件的:

 咱們能夠在resource目錄下分別在添加applicaition-dev.yml和application-test.yml

在開發中在不一樣的環境下咱們的配置屬性值是不一樣的,好比數據庫的配置,若是手動切換實在是太麻煩了,爲此springBoot提供了這樣一個特別實用的功能,經過spring.profiles.active這樣的屬性來切換環境,注意名稱必須是application-{名稱}.yml 或

application-{名稱}.properties 文件

spring:
 application:
  name: helloApp

 用來描述應用程序的名稱的。

 在整個springBoot系列中,有不少配置,這裏只是簡單的列舉了2個,在實際的開發中,包括數據庫配置、日誌配置、緩存配置,自定義配置等很是之多,配置的貢獻主要來自於不一樣的jar中,以具體的jar項目爲準。

 咱們能夠參考springBoot的官方網站:官方網址,這裏有不少的配置信息。這裏面有不少介紹。

本文由博客一文多發平臺 OpenWrite 發佈!

個人博客地址蘭陵笑笑生,歡迎瀏覽!

相關文章
相關標籤/搜索