1. 程式人生 > >kotlin spring @value 註解

kotlin spring @value 註解

spring boot和kotlin裡靜態類使用@Value註解配置解決方案
前言
spring boot裡預設是不能給靜態屬性使用@Value賦值的。所以這裡使用中間變數過渡繫結。

方案
//applicaton.yml配置
isDebug:true
name:cy

//Test類儲存配置資訊。使用@Value取配置裡的isDebug和name變數值。
//spring boot寫法
@Component
public class Test {
public static Boolean isDebug = false;
public static String name = "";

@Value("${isDebug}")


public void setIsDebug(Boolean isDebug) {
Test.isDebug = isDebug;
}

@Value("${name}")
public void setname(static name) {
Test.name = name;
}
}


//kotlin寫法,使用伴生物件companion object語法模擬靜態類
@Component
class Test {
@Value("\${isDebug}")
fun setIsDebug(isDebug: Boolean?) {
Test.isDebug = isDebug
}

@Value("\${name}")


fun setname() {
Test.name = name
}

companion object {
var isDebug: Boolean? = false
var name = ""
}
}

注意

@Component註解必需要有。
setter方法裡static不要加
isXXX變數首字母也要大寫
注意spring boot的java寫法變數使用static,kotlin裡使用companion object
---------------------
作者:陳袁
來源:CSDN
原文:https://blog.csdn.net/achenyuan/article/details/81332882


版權宣告:本文為博主原創文章,轉載請附上博文連結!