2017-03-14 8 views
3

Ich versuche, @PropertySource für meine Spring-basierte Anwendung zu konfigurieren.Wie erstellt man ein Java-Array in Kotlin für @PropertySource?

In Java, könnte ich so etwas tun:

@PropertySource(value = {"application.properties","other.properties" }) 

Ich versuchte arrayOf in Kotlin aber ich mit einem Typenkonflikt am Ende:

@PropertySource(value = arrayOf("application.properties", "other.properties")) 

Was ist der richtige Weg, hier zu gehen ?

Antwort

5

Der Annotationsparameter value wird in Kotlin (nach seiner speziellen Behandlung in Java) in besonderer Weise behandelt, und wenn er einen Array-Typ hat, konvertiert Kotlin ihn in eine . Deshalb hier die korrekte Syntax ist einfach:

@PropertySource("application.properties", "other.properties") 

Wenn Sie die Parameternamen explizit angeben wollen, um die Ausbreitung Operator das Array in varargs zu erweitern:

@PropertySource(value = *arrayOf("application.properties", "other.properties")) 

Für alle andere Array-Annotation Parameter sollten Sie einfach arrayOf() normal verwenden.

Verwandte Themen