Piccola nota: non so se è un problema di copia-incolla qui sul forum ma tra scan e base ci va almeno uno spazio, ovviamente.
Questo infatti NON può funzionare. Spring PRIMA istanzia la classe tramite reflection (invocando il costruttore) e POI solo dopo sempre tramite reflection determina che il field b è annotato con @Autowired e quindi a fronte di un oggetto B che deve essere ovviamente tirato su da Spring nel contesto, allora lo "inietta" nel campo b.
Ma tu b.faiQuesto() lo esegui nel costruttore ... quando il campo b è ancora null (e non può essere diversamente).
Le soluzioni ovviamente ci sono ma dovresti affrontare un po' meglio il "ciclo" di vita dei bean in Spring.
Ok ma questo è completamente l'opposto, insomma è l'anti-Dependency-Injection ... anti-Spring. Cioè proprio quello che con Spring (e altri framework per la DI) NON si vuole e non si deve fare.![]()



Rispondi quotando