2016-10-24 2 views
0

Ich möchte meine eigene Konfiguration aus einer Konfigurationsdatei laden. Nach dem Laden der Config möchte ich in der Lage sein, die Konfigurationswerte mit Scaldi zu injizieren. Hier ist der Code, wo ich die typsichere Config laden. Wie kann ich diesen Code anpassen, so dass ich dieses Modul verwenden können, und injizieren wie: val = localValue injizieren [String] ("property.name")In Scaldi habe ich meine eigene typsichere Konfiguration geladen, wie kann ich Scaldi einstellen, um es verfügbar zu machen?

package somepackage 

import java.io.File 
import com.typesafe.config.ConfigFactory 
import scaldi._ 

class GlobalModule extends Module { 

    privateLoadConfig() 

    private def privateLoadConfig() = { 
    val c = System.getProperty("jumpmicro.config.path") 
    val configPath = if (c == null) "jumpmicro.conf" else c 
    if (configPath != null) { 
     val f = new File(configPath) 
     if (f.exists()) { 
     val config = ConfigFactory.parseFile(f) 
     // @todo What to do here? 
     } 
    } 
    } 

} 

Antwort

1

Die folgende Beschreibung ist für Sie arbeiten:

implicit val inj = TypesafeConfigInjector(ConfigPath) // or config, both work 

val localValue = inject [String] ("property.name") 

Andernfalls können Sie einfach TypesafeConfigInjector(ConfigPath) an Ihre Moduldefinition mit :: Operator (http://scaldi.org/learn/#injector-composition)

anhängen
Verwandte Themen