spring bootとkotlinの中で静的な種類は@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
  • を使います.
    以上の書き方は本当に有効です.