Spring Core - IoC & DI
Inversion of Control, Dependency Injection, annotazioni (@Component, @Autowired, @Bean), scope, ciclo di vita dei bean
1Cos'è l'Inversion of Control (IoC) in Spring?
Cos'è l'Inversion of Control (IoC) in Spring?
Risposta
L'IoC è un principio in cui il framework Spring gestisce la creazione e il ciclo di vita degli oggetti, anziché lo sviluppatore. Questo inverte il flusso di controllo tradizionale in cui il codice applicativo istanzia direttamente le sue dipendenze. Spring usa un container IoC per gestire i bean e le loro dipendenze in modo dichiarativo.
2Cos'è un bean in Spring?
Cos'è un bean in Spring?
Risposta
Un bean è un oggetto gestito dal container Spring IoC. Viene istanziato, configurato e assemblato da Spring in base ai metadati di configurazione (annotation, XML o Java config). I bean sono il cuore di un'applicazione Spring e beneficiano della dependency injection.
3Qual è lo scopo dell'annotation @Component?
Qual è lo scopo dell'annotation @Component?
Risposta
L'annotation @Component contrassegna una classe come un bean Spring da rilevare automaticamente durante il component scanning abilitato da @ComponentScan. Spring crea un'istanza di questa classe e la inserisce nel container IoC con un nome predefinito (classe in camelCase). È l'annotation stereotype generica da cui derivano @Service, @Repository e @Controller per fornire una semantica di business specifica.
Quali sono i tre tipi di dependency injection in Spring?
Come funziona l'annotation @Autowired?
+19 domande da colloquio
Altri argomenti di colloquio Spring Boot
Spring Boot Auto-Configuration
Spring Boot Starters
Application Properties & YAML
Logging con SLF4J e Logback
Spring Boot DevTools
Spring MVC Basics
Spring REST Controllers
Request & Response Handling
Gestione delle eccezioni
Bean Validation
Fondamenti di Spring Data JPA
Entità JPA e relazioni
Query JPA
Spring Data Repositories
Fondamenti di Spring Security
Spring Boot Actuator
Test unitari con JUnit e Mockito
Testing in Spring Boot
Profiles e Environment
RestTemplate e WebClient
Async e Scheduling
Caching con Spring
Spring WebFlux (Reactive)
Transazioni Spring
Autenticazione e autorizzazione avanzate
JWT e sicurezza stateless
OAuth2 e Authorization Server
Spring Boot e Docker
Microservices con Spring
Spring Cloud Config
Ottimizzazione delle prestazioni
GraalVM Native Images
Padroneggia Spring Boot per il tuo prossimo colloquio
Accedi a tutte le domande, flashcards, test tecnici, esercizi di code review e simulatori di colloquio.
Inizia gratis