Spring Boot @ Autowired verstehen

8

Ich verstehe nicht, wie Spring Boots Annotation @Autowired korrekt funktioniert. Hier ist ein einfaches Beispiel:

%Vor%

-

%Vor%

Wenn ich diesen Code ausführe, bekomme ich die Logs init App und init Starter , also erstelle diese Objekte. Aber wenn ich die init methode von Starter in App anrufe, bekomme ich eine NullPointerException . Gibt es noch mehr zu tun, dann verwende ich die Annotation @Autowired , um mein Objekt zu initialisieren?

%Vor%     
xenteros 20.07.2016, 08:46
quelle

1 Antwort

14

Wenn Sie die Methode init aus dem Konstruktor der Klasse App aufrufen, hat Spring die Abhängigkeiten noch nicht automatisch in das Objekt App eingefügt. Wenn Sie diese Methode aufrufen möchten, nachdem Spring das Objekt App erstellt und automatisch gestartet hat, fügen Sie eine Methode mit einer @PostConstruct Annotation hinzu, zum Beispiel:

%Vor%     
Jesper 20.07.2016, 08:50
quelle

Tags und Links