Scegli la tua lingua
Corso Java con Spring Boot
Più di 2 milioni di studenti in tutto il mondo

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.

Dedika per aziende

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.

Clicca qui

Contenuto del corso

8 Capitoli • 39 LezioniDurata tra 4 e 360 ore (decidi tu)

Capitolo 1Vedi dettagli

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 2Vedi dettagli

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 3Vedi dettagli

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 4Vedi dettagli

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 5Vedi dettagli

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 6Vedi dettagli

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 7Vedi dettagli

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 8Vedi dettagli

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.

Certificazione

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...
Giulio Carlo
Giulio CarloStudente di Marketing Digitale
Mi piace come le lezioni vanno dritte al punto e come riesco a cambiare capitoli e saltare contenuti di cui non ho bisogno.
Mariana Ferres
Mariana FerresStudentessa di Fotografia
Mi piace il contenuto e il modo di presentazione e trascrizione dei video, che accelera il processo!
Luciana Alvarenga
Luciana AlvarengaStudentessa di Nail Design
La piattaforma è veloce, semplice da usare. La diversità dei contenuti e i video complementari aiutano molto nell'apprendimento.
André Felipe
André FelipeStudente di Prompt Engineering

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