1. 程式人生 > 程式設計 >SpringBoot中屬性賦值操作的實現

SpringBoot中屬性賦值操作的實現

說明:當程式中出現頻繁變化的資料時,如果採用認為的方式進行修改並且編譯打包則會導致程式碼的耦合性較高,不便於維護!所以能否為屬性動態賦值?

屬性固定值

//動態獲取ip和埠資料
/**
 * @responseBody
 * 註解作用:
 *   1.將物件轉化成Json格式,
 *   2.如果返回值是String型別,則返回字串本身
 *   3.一般客戶端發起ajax請求時,採用該註解返回資料,將不會執行檢視解析器操作
 */
@RestController
public class RedisController{
  private String host="192.168.126.112";
  private Integer port=6379;
  public String getMsg(){
    return host+":"+port;
  }
}

動態獲取ip和埠資料

關於YML檔案說明

#YML檔案語法:
 # 1.key:(空格) value 注意:value前面有個空格
 # 2.key與key之間有層級的縮排關係
server:
 port: 8090
 #屬性賦值操作,編輯屬性時注意字首,只要springboot啟動,該資料就會被寫入記憶體中,key-value格式
redis:
  host: 192.168.126.130
  port: 6379

為屬性賦值操作

public class RedisController {

  @Value("${redis.host}") //spel表示式
  private String host;  // = "192.168.126.130";   private String host;  // = "192.168.126.130";
  @Value("${redis.port}")
  private Integer port;  // = 6379;

  @RequestMapping("/getMsg")
  public String getMsg(){

    return host + ":" + port;
  }
}

指定配置檔案為屬性賦值

說明:由於YML配置檔案中的資料一般都是系統級別的資料,所以一般的業務資料都會寫到peoperties配置檔案中。

SpringBoot中屬性賦值操作的實現

編輯RedisController

@RestController
//動態匯入pro配置檔案,交給spring容器進行載入
@PropertySource("classpath:/properties/redis.properties")
public class RedisController {
  //通過YML給屬性賦值
 @Value("${redis.host}")//sple表示式
 private String host;
  @Value("${redis.port}")
  private Integer port;
  @RequestMapping("/getMsg")
  public String getMsg(){
    return host+":"+port;
  }
  /*由於YML配置檔案中的資料一般都是系統級別的資料,所以一般的業務資料
 都會寫到peoperties配置檔案中*/
 //通過properties給屬性賦值
 @Value("${pro.redis.host}")
  private String prohost;
  @Value("${pro.redis.port}")
  private Integer proport;
  @RequestMapping("/getpro")
  public String getpro(){
    return prohost+":"+proport;
  }
}

到此這篇關於SpringBoot中屬性賦值操作的實現的文章就介紹到這了,更多相關SpringBoot 屬性賦值內容請搜尋我們以前的文章或繼續瀏覽下面的相關文章希望大家以後多多支援我們!