2017-06-13 3 views
1

ich eine Java-Federkonfiguration wie so definiert haben,Wie mehrere Federkonfiguration verwenden Dateien

@Configuration 
public class FirstConfiguration { 

@Bean 
FirstController firstController() { 
    return new FirstController(firstService()); 
} 

@Bean 
FirstService firstService() { 
    return new FirstServiceImpl(secondService()); 
} 

} 

Nun werden die Bohnen in dieser Konfiguration auf SecondConfiguration abhängen, wie so definiert,

@Configuration 
public class SecondConfiguration { 

@Bean 
SecondController SecondController() { 
    return new SecondController(SecondService()); 
} 

@Bean 
SecondService secondService() { 
    return new SecondServiceImpl(); 
} 

} 

Wie kann ich Verwenden Sie die SecondService() Bean in meiner FirstConfiguration?

+1

können Sie die Konfiguration importieren. – notionquest

Antwort

2

Seit der SecondService ist eine Bohne, können Sie es in die firstService Methode injizieren könnte eine andere Bean zu konfigurieren:

@Bean 
FirstService firstService(@Autowired SecondService secondService) { 
    return new FirstServiceImpl(secondService); 
} 
1

Sie können die firstService wie diese injizieren:

@Autowired 
SecondService secondService 
0

Sie können die verweisen Methode secondService() direkt beim Importieren der Konfiguration.

@Configuration 
@Import(SecondConfiguration.class) 
public class FirstConfiguration { 

    @Bean 
    FirstController firstController() { 
     return new FirstController(firstService()); 
    } 

    @Bean 
    SomeController someController() { 
     return new SomeController(secondService()); 
    } 
} 

Refer the Spring config import

+0

und wie wird es kompiliert? Sie haben einige wichtige Details verpasst - eine SecondConfiguration-Instanz in die aktuelle Konfiguration eingefügt – Andrew

Verwandte Themen