2016-05-10 7 views
0

Wäre es möglich, diese Konfiguration in eine einzige @Configuration-Klasse zu konvertieren? Ich brauche die Werte für Auto von Immobilien DateienEinzelne JavaConfig-Klasse für mehrere Beans desselben Typs mit Abhängigkeiten

<bean name="VW" class="com.app.car"> 
    <property name="cost" value="${vw.cost}"/> 
    <property name="power" value="${vw.power}"/> 
</bean> 

<bean name="Merc" class="com.app.car"> 
    <property name="cost" value="${merc.cost}"/> 
    <property name="power" value="${merc.power}"/> 
</bean> 

<bean name="FirstCar" class="com.app.cart"> 
    <property name="car" ref="VW"/> 
</bean> 

<bean name="SecondCar" class="com.app.cart"> 
    <property name="car" ref="Merc"/> 
</bean> 

ich zu holen wissen wir verschiedene Klassen fro VW und Marc definieren und dann verweisen sie auf eine übergeordnete @Configuration Klasse @Autowire. Sie fragen sich, ob es eine Lösung gibt, bei der alle diese Beans in einer einzigen Klasse definiert werden. Ich habe versucht, @Value für Parameter für DevAppConfig wie folgt zu verwenden

vw(@Value("vw.cost") String cost, @Value("vw.power") String power) 

merc(@Value("merc.cost") String merc, @Value("merc.power") String power) 

Aber diese Methoden haben Eingabeparameter. Zwei verschiedene Objekte des gleichen Typs, die mit unterschiedlichen Eigenschaftswerten instanziiert und als Abhängigkeiten eingefügt werden müssen, ist das Ziel

Antwort

1

Sie können Spring Profile verwenden, so dass Sie für jede Umgebung eine Eigenschaftendatei haben können.

Federprofile bieten eine Möglichkeit, Teile Ihrer Anwendung zu trennen und sie nur in bestimmten Umgebungen verfügbar zu machen. Alle @Component oder @Configuration mit @Profile markiert werden zu begrenzen, wenn es geladen wird Sie mehr sehen hier http://www.baeldung.com/spring-profiles

http://www.mkyong.com/spring/spring-profiles-example/

https://docs.spring.io/spring-boot/docs/current/reference/html/boot-features-profiles.html

+0

Leider muss ich in der Lage sein Verbindung zu mehreren Umgebungen herstellen. Federprofile erfüllt meine Anforderung in diesem Fall nicht – reaper

+0

Ich verstehe nicht gut. Müssen Sie sich mit dem Entwickler verbinden und gleichzeitig testen? – reos

+0

Das stimmt. Ich muss mich gleichzeitig mit zwei verschiedenen Instanzen verbinden. – reaper