2017-09-09 1 views
0

Ich habe ein Projekt (Projekt1), das Bohnen mit @ Komponent deklariert hat und mit Anwendungskontext kann ich auf die Bohnen zugreifen. Jetzt gibt es ein anderes Projekt (Spring Boot Projekt-Projekt2), in dem ich dieses Projekt1 als Abhängigkeit benutze. Darin versuche ich auf Beans von Projekt1 mit autowired Annotation zugreifen, aber es wirft Nullzeiger Ausnahme sowohl für Beans und Application-Kontext. Wie kann ich auf den Anwendungskontext von project1 zugreifen, der Zugriff auf diese Beans in meinem Projekt hat, so dass ich sowohl den Kontext für autoverwendete Anwendungen als auch die Access-Beans von project1 in project2 verwenden kann. Irgendeine Idee, was falsch ist und warum Autowiring nicht funktioniert.Anwendungskontext Null in verschiedenen Projekten und kann nicht auf Beans zugreifen

Dank

+0

beide Projekte Pakete sind so konfiguriert, in project1 gescannt zu werden? (@ComponentScan) –

+0

@ComponentScan ist Annotation gibt es auf die Klassen von Projekt1. Wo sonst muss es deklariert werden? Ich brauche Projekt1-Bohnen in Projekt2 – user1575601

+0

Dann in Project2 die ComponentScan Annotation muss sowohl von Projekt2 und Projekt1 Basis-Pakete. Wie wenn Projekt2 das Basispaket "abc" hat und Projekt1 hat xyz project2 componentscan Annotation muss @ComponentScan sein (basePackages = {"abc", "xyz"}) –

Antwort

1

Sie müssen Konfiguration von Projekt 1 in Projekt 2. So etwas importieren unter

@Configuration 
@EnableBatchProcessing 
@ComponentScan({"abc.","com.abc"}) 
@Import({Project1Config.class}) 
public class Project2Configuration { 
} 
Verwandte Themen