WinstonSmith ha scritto:
Con il concetto di IoC se non ho capito male si solleva il programmatore dall'andare a creare oggetti ed altre cose di questo tipo e si demanda il compito al framework.
Nì, IoC è un concetto abbastanza generico. Quello che hai descritto è il Dependency Injection.
WinstonSmith ha scritto:
Gli altri due concetti (reflection e DI) non mi sono chiari.
Reflection, dovresti già conoscerla da molto prima, perché non è una cosa di Spring ma un concetto generale/base di Java, ovvero la possibilità di effettuare a runtime una "introspezione" delle classi per scoprire come sono fatte (quali campi, metodi hanno, ecc...).
Dependency Injection (DI) è un caso specifico di IoC. E appunto vuol dire che non è il programmatore che si deve fare carico di creare gli oggetti che sono delle "dipendenze" (es. l'oggetto A ha bisogno di un oggetto B, B è una dipendenza) ma è un'altra entità, in questo caso il "container" di Spring, che si fa carico di crearli e "iniettarli" dove serve (es. l'oggetto B viene iniettato nell'oggetto A).