
Corso Java con Spring Boot
Padroneggi Java e Spring Boot partendo da zero e costruisca applicazioni pronte per la produzione che i datori di lavoro cercano effettivamente. Questo corso la guida dai fondamenti di base di Java fino alle API REST, alla persistenza su database, alla sicurezza, al testing e alla distribuzione con Docker. Ogni concetto è radicato in pratiche ingegneristiche reali utilizzate nei team di sviluppo professionale.
Cosa imparerai:
Inizierà con i fondamenti di Java, inclusi OOP, collezioni e le funzionalità moderne di Java, per poi passare alla configurazione di un progetto Spring Boot, all'iniezione delle dipendenze e all'architettura applicativa. Da lì, progetterà e costruirà API RESTful con validazione appropriata, gestione degli errori e documentazione OpenAPI. Persisterà i dati utilizzando Spring Data JPA, proteggerà le sue API con Spring Security e JWT e scriverà test unitari e di integrazione con JUnit 5 e Mockito. Infine, containerizzerà la sua applicazione con Docker e configurerà l'osservabilità utilizzando Spring Boot Actuator, Prometheus e Grafana.
Come studi in modo pratico Corso Java con Spring Boot
Come metti in pratica Corso Java con Spring Boot
Per te che sei un'azienda e vuoi formare il tuo team
Su Dedika per aziende, il corso include esercizi ed esempi personalizzati sul tuo business e secondo le esigenze della tua azienda.
Contenuto del corso
8 Capitoli • 39 LezioniDurata tra 4 e 360 ore (decidi tu)
Capitolo 1NascondiNascondi dettagliVedi dettagliFondamenti di Java per Spring Boot
Fondamenti di Java per Spring Boot
Lezione 1 • Gestione delle eccezioni e debug
Tratta le eccezioni controllate e non controllate, try-catch-finally e le eccezioni personalizzate. Una gestione robusta degli errori è fondamentale per costruire API Spring Boot affidabili.
Lezione 2 • Funzionalità Java moderne
Introduce lambda, stream, Optional e record da Java 8 a Java 17. Spring Boot sfrutta ampiamente queste funzionalità nei suoi livelli di auto-configurazione e dati.
Lezione 3 • Collezioni e Generics
Esplora List, Set, Map e Queue con parametri di tipo generici. Un uso corretto delle collezioni è essenziale per gestire i dati nei servizi e nei repository Spring.
Lezione 4 • Sintassi Java e tipi di dati
Tratta i tipi primitivi, le variabili, gli operatori e il flusso di controllo. Stabilisce la base sintattica necessaria per tutto il codice Java e Spring successivo.
Lezione 5 • Principi della programmazione orientata agli oggetti
Insegna incapsulamento, ereditarietà, polimorfismo e astrazione utilizzando le classi Java. Questi pilastri della OOP sono alla base di ogni componente Spring e della progettazione dei bean.
Capitolo 2NascondiNascondi dettagliVedi dettagliConfigurazione e struttura del progetto Spring Boot
Configurazione e struttura del progetto Spring Boot
Lezione 1 • Auto-configurazione di Spring Boot
Spiega come Spring Boot auto-configura i bean in base alle dipendenze nel classpath. Comprendere questo meccanismo previene errori di configurazione e facilita la risoluzione dei problemi.
Lezione 2 • Struttura dell'applicazione e convenzioni
Spiega il layout standard dei package, la classe main e le convenzioni di Spring Boot. Seguire queste convenzioni abilita l'auto-configurazione e la scansione dei componenti.
Lezione 3 • Spring Initializr e strumenti di build
Genera un progetto con Spring Initializr e configura i file di build Maven o Gradle. Questo è il punto di ingresso per ogni applicazione Spring Boot creata nel corso.
Lezione 4 • File di configurazione e profili
Gestisce le impostazioni dell'applicazione tramite application.properties e application.yml con profili d'ambiente. I profili consentono di passare facilmente tra configurazioni di sviluppo, test e produzione.
Capitolo 3NascondiNascondi dettagliVedi dettagliIniezione delle dipendenze e Spring Core
Iniezione delle dipendenze e Spring Core
Lezione 1 • Annotazioni stereotype e scansione dei componenti
Utilizza @Component, @Service, @Repository e @Controller per registrare automaticamente i bean. L'uso corretto delle annotazioni rafforza i confini architetturali nelle app a livelli.
Lezione 2 • Configurazione Java-based
Definisce i bean in modo programmatico con @Configuration e metodi @Bean. La configurazione Java offre alternative type-safe e rifattorizzabili a XML o alla scansione tramite annotazioni.
Lezione 3 • Scope e ciclo di vita dei bean
Tratta gli scope singleton, prototype, request e session, oltre ai callback del ciclo di vita. La scelta corretta dello scope previene perdite di memoria e bug di concorrenza.
Lezione 4 • Inversione del controllo e container IoC
Definisce l'IoC e spiega come ApplicationContext gestisce i bean. Questo modello mentale è il fondamento per comprendere ogni componente Spring.
Lezione 5 • Pattern di iniezione delle dipendenze
Confronta l'iniezione tramite costruttore, setter e campo con indicazioni di best practice. Scegliere lo stile di iniezione corretto migliora la testabilità e la chiarezza del codice.
Capitolo 4NascondiNascondi dettagliVedi dettagliCostruzione di API RESTful con Spring MVC
Costruzione di API RESTful con Spring MVC
Lezione 1 • Documentazione API con OpenAPI
Genera documentazione API interattiva utilizzando SpringDoc e la specifica OpenAPI. La documentazione accelera l'onboarding e funge da contratto per i consumatori.
Lezione 2 • Gestione delle richieste in Spring MVC
Mappa le richieste HTTP ai metodi del controller utilizzando @RequestMapping e le sue scorciatoie. Questa sezione stabilisce il ciclo richiesta-risposta centrale per tutte le API REST.
Lezione 3 • Best practice per la progettazione di API REST
Applica la denominazione RESTful delle risorse, la semantica dei metodi HTTP e le convenzioni sui codici di stato. API ben progettate riducono gli errori del client e semplificano il versionamento.
Lezione 4 • Validazione dell'input e risposte di errore
Convalida i payload delle richieste con le annotazioni Bean Validation e gestisce gli errori globalmente. Risposte di errore coerenti migliorano l'usabilità dell'API e l'integrazione del client.
Lezione 5 • Corpi di richiesta e risposta
Serializza e deserializza JSON utilizzando @RequestBody, @ResponseBody e Jackson. Una corretta gestione del corpo garantisce l'interoperabilità con qualsiasi client REST.
Capitolo 5NascondiNascondi dettagliVedi dettagliPersistenza dei dati con Spring Data JPA
Persistenza dei dati con Spring Data JPA
Lezione 1 • Migrazioni del database con Flyway
Gestisce l'evoluzione dello schema utilizzando script di migrazione Flyway versionati. Le migrazioni automatizzate garantiscono uno stato del database coerente in tutti gli ambienti.
Lezione 2 • Repository Spring Data
Utilizza JpaRepository e CrudRepository per generare automaticamente metodi di accesso ai dati. L'astrazione del repository elimina il codice boilerplate dei DAO.
Lezione 3 • Relazioni tra entità
Modella associazioni uno-a-uno, uno-a-molti e molti-a-molti con opzioni di cascade e fetch. Una mappatura corretta delle relazioni previene problemi di integrità dei dati e query N+1.
Lezione 4 • Gestione delle transazioni
Controlla la coerenza dei dati con @Transactional, propagazione e livelli di isolamento. Confini transazionali corretti prevengono letture sporche e aggiornamenti parziali.
Lezione 5 • Entità JPA e mappatura
Mappa le classi Java alle tabelle del database utilizzando le annotazioni JPA. Una corretta progettazione delle entità è il fondamento di un livello dati affidabile e performante.
Capitolo 6NascondiNascondi dettagliVedi dettagliSicurezza con Spring Security
Sicurezza con Spring Security
Lezione 1 • Autorizzazione e controllo degli accessi basato sui ruoli
Limita l'accesso agli endpoint utilizzando @PreAuthorize, @Secured e regole di sicurezza HTTP. Un'autorizzazione granulare rafforza il principio del minimo privilegio.
Lezione 2 • Autenticazione stateless basata su JWT
Implementa l'emissione, la validazione e l'aggiornamento dei token utilizzando JSON Web Token. JWT consente un'autenticazione scalabile e stateless per le API REST.
Lezione 3 • Configurazione dell'autenticazione utente
Configura archivi utenti in memoria e supportati da database con codifica delle password. L'archiviazione sicura delle credenziali è un requisito di base per qualsiasi applicazione di produzione.
Lezione 4 • CORS, CSRF e intestazioni di sicurezza
Configura la condivisione delle risorse tra origini, la protezione CSRF e le intestazioni di sicurezza HTTP. Queste impostazioni difendono dalle vulnerabilità web comuni nei client basati su browser.
Lezione 5 • Fondamenti di Spring Security
Spiega la catena di filtri di sicurezza, il gestore di autenticazione e il contesto di sicurezza. Questa architettura è alla base di ogni funzionalità di sicurezza aggiunta nelle sezioni successive.
Capitolo 7NascondiNascondi dettagliVedi dettagliTest delle applicazioni Spring Boot
Test delle applicazioni Spring Boot
Lezione 1 • Test slice dei controller con MockMvc
Testa i controller REST in isolamento utilizzando @WebMvcTest e MockMvc. I test slice convalidano la mappatura delle richieste, la validazione e la gestione degli errori senza un contesto completo.
Lezione 2 • Test unitari con JUnit 5 e Mockito
Testa singole classi in isolamento utilizzando le asserzioni di JUnit 5 e i mock di Mockito. I test unitari isolati sono veloci e individuano i difetti all'origine.
Lezione 3 • Test slice dei repository con DataJpaTest
Convalida le query JPA e i metodi del repository utilizzando un database in memoria. I test del livello dati confermano la corretta generazione SQL e la mappatura delle entità.
Lezione 4 • Test dei bean e dei servizi Spring
Carica un contesto Spring parziale con @ExtendWith(SpringExtension) e @MockBean. I test del livello di servizio verificano la logica di business con il collegamento reale di Spring.
Lezione 5 • Test di integrazione e end-to-end
Esegue test full-stack su un database reale utilizzando Testcontainers e RestAssured. I test di integrazione rilevano difetti tra i livelli che i test unitari e slice non individuano.
Capitolo 8NascondiNascondi dettagliVedi dettagliDistribuzione e prontezza per la produzione
Distribuzione e prontezza per la produzione
Lezione 1 • Containerizzazione con Docker
Crea immagini Docker ottimizzate utilizzando JAR a livelli e build multi-stage. I container standardizzano l'ambiente di runtime e semplificano l'orchestrazione.
Lezione 2 • Logging strutturato e tracciamento distribuito
Configura Logback per log JSON strutturati e aggiunge ID di traccia con Micrometer Tracing. Log e tracce correlati accelerano l'analisi delle cause principali nei sistemi distribuiti.
Lezione 3 • Impacchettamento ed esecuzione dell'applicazione
Compila JAR e WAR eseguibili e configura le opzioni di avvio della JVM. Un impacchettamento corretto garantisce che l'app venga eseguita in modo identico su tutti gli obiettivi di distribuzione.
Lezione 4 • Ottimizzazione delle prestazioni e caching
Applica l'astrazione Cache di Spring, l'ottimizzazione del pool di connessioni e l'elaborazione asincrona. Queste ottimizzazioni riducono la latenza e aumentano il throughput sotto carico di produzione.
Lezione 5 • Osservabilità con Spring Boot Actuator
Espone endpoint di health, metriche e informazioni tramite Spring Boot Actuator. Gli endpoint di osservabilità sono la base per il monitoraggio e gli avvisi in produzione.
Il tuo certificato valido di completamento
Questo corso è per te:
Sviluppatore junior: desidera andare oltre i tutorial e affrontare un lavoro reale di ingegneria backend.
Cambio di carriera: passaggio da un ambito non tecnico allo sviluppo software a livello professionale.
Laureato in Informatica: possiede la teoria accademica ma manca di esperienza pratica in progetti Spring Boot.
Sviluppatore frontend: pronto ad ampliare le proprie competenze e a gestire l'intero stack applicativo.
Programmatori hobbisti: realizzare progetti personali puntando a una qualità del codice di livello professionale.
Ingegnere QA: desidera approfondire le conoscenze di sviluppo per avanzare verso un ruolo di programmazione.
Cosa dicono i nostri studenti
Le sue lezioni sono perfette. Ho acquistato il pacchetto annuale e finalmente ho l'opportunità di seguire diversi argomenti di mio interesse senza dover cambiare piattaforma... vi ringrazio per tutto quello che fate, vi ho già raccomandati ad altre persone...

Mi piace come le lezioni vanno dritte al punto e come riesco a cambiare capitoli e saltare contenuti di cui non ho bisogno.

Mi piace il contenuto e il modo di presentazione e trascrizione dei video, che accelera il processo!

La piattaforma è veloce, semplice da usare. La diversità dei contenuti e i video complementari aiutano molto nell'apprendimento.

Principali percorsi formativi
FAQ
Chi è Dedika?
Il certificato è valido in Italia?
I corsi sono gratuiti?
Qual è il carico di lavoro del corso?
Come sono strutturati i corsi?
Come funzionano i corsi?
Qual è la durata dei corsi?
Qual è il costo o il prezzo dei corsi?
Cos’è un corso EAD o online e come funziona?
Corso PDF




















