
🔗
Percorso Propedeutico
Questo bootcamp è il campo base prima della scalata. Al termine dei 5 giorni, avrai costruito la business logic di un sistema bancario in puro Java. Il bootcamp Spring Boot 3.x aggiungerà solo il layer web, la DI e JPA — su fondamenta che avrai costruito riga per riga.
🏦 Il Progetto Guida: LipariBank Core Engine
Nessun framework, nessuna magia. Puro Java 21 per costruire il motore di un sistema bancario/assicurativo reale — la stessa business logic che in Spring Boot sarà solo esposta via REST.
◆Anagrafica clienti (privati/business) con codice fiscale
◆Conti correnti: apertura, movimenti, bonifici e saldo
◆Polizze assicurative: sottoscrizione, premio, beneficiari
◆Motore di regole: validazioni business e limiti operativi
◆Persistenza CSV / H2 via JDBC e reportistica con Stream API
◆Progetto completo su Git con PR, branch e conventional commits
🎓 Cosa imparerai
✓Sintassi Java 21: switch expression, pattern matching, records
✓Clean code, naming convention e JavaDoc professionale
✓OOP completa: incapsulamento, ereditarietà, polimorfismo, sealed classes
✓GC, stack/heap, scope di variabili e gestione della memoria
✓Collections, Generics e strutture dati con analisi delle performance
✓Stream API, lambda, Optional e programmazione funzionale
✓Gestione errori, stacktrace e debug con IntelliJ IDEA
✓SQL: JOIN, subquery, indici e basi REST/HTTP per Spring Boot
✓Design Pattern: Singleton, Factory, Builder, Command
✓Git completo: branch, rebase, PR e workflow enterprise
🗓️ Il Percorso — 5 Giorni di Bootcamp
1
Java da Zero a OOP — Sintassi, Classi & Clean Code
Sintassi Java 21 (switch expression, pattern matching instanceof), naming convention, JavaDoc, OOP completa (incapsulamento, ereditarietà, polimorfismo, Records, Sealed Classes). Setup IntelliJ IDEA. Avvio progetto LipariBank: domain model (Cliente, Conto, Polizza). Broken Project: equals() senza hashCode() — HashMap non funziona come atteso.
2
Memoria, Errori & Collections — JVM Internals e Strutture Dati
Stack vs heap, GC e ciclo di vita degli oggetti, gestione eccezioni (checked/unchecked, try-with-resources, stacktrace), debug con breakpoint IntelliJ. Collections (ArrayList, HashMap, TreeSet) con analisi delle performance O(1)/O(log n). Generics. Broken Project: ConcurrentModificationException iterando e modificando una lista.
3
Stream API, Lambda & Functional Java
Lambda, method reference, Stream API (filter, map, collect, reduce, flatMap), Optional, interfacce funzionali (Function, Predicate, Supplier, Consumer), programmazione dichiarativa vs imperativa. Design Pattern: Singleton, Factory, Builder, Command. Reportistica LipariBank con Stream. Broken Project: Stream che modifica la sorgente durante l'iterazione.
4
SQL, JDBC, REST & Persistenza dei Dati
SQL completo (DDL, DML, JOIN, indici, subquery), JDBC con PreparedStatement e H2, basi HTTP/REST (metodi, codici di stato, JSON) come ponte verso Spring Boot, concorrenza (Thread, ExecutorService, cenni). Integrazione DAO nel progetto LipariBank. Broken Project: SQL injection con Statement invece di PreparedStatement.
5
Git Mastery, Integration & Battle Test Finale
Git completo (branch, rebase, conflitti, PR, conventional commits, GitHub), integrazione finale del progetto LipariBank su repository GitHub con feature branch e README professionale. Battle Test: 5 scenari end-to-end, code review incrociata, checklist "Ready for Spring Boot". Broken Project: merge conflict non risolto — build rotta sul branch main.
⚙️ Struttura di ogni giornata (8h)
📖 Teoria Guidata
Concetti + "perché" + metafore banking. Focus sulla comprensione, non sulla memorizzazione.
🔥 Broken Project
Bug realistici da debuggare. Errori che un junior commette davvero: NPE, hashCode, JDBC, Git conflict.
Codice Java 21 reale commentato riga per riga. Records, sealed classes, Stream API, pattern moderni.
✅ Quiz & Colloquio
Domande reali da colloquio Java Junior. Difficoltà crescente: base → intermedio → trabocchetto senior.
🔮 Ponte verso Spring Boot
Ogni giorno: collegamento diretto tra ciò che stai imparando e come Spring Boot lo utilizzerà (es: "Il Builder che scrivi oggi, domani sarà @Builder di Lombok. La tua BusinessException custom, domani sarà gestita da @ControllerAdvice"). Fondamentale per dare senso a ogni esercizio.
🛠️ Stack Tecnologico
Java 21 IntelliJ IDEA Maven Stream API Records & Sealed Classes Collections & Generics JDBC / H2 SQL Git / GitHub JUnit 5 Design Pattern GoF REST / HTTP
🚀 Metodologia Lipari Academy
Non è un corso universitario. Non è un tutorial su YouTube. È un campo di addestramento per chi vuole entrare in un progetto di consulenza bancaria e non fare brutte figure il primo giorno. 30% teoria, 70% pratica — ogni concetto ha un "perché" concreto e un collegamento diretto a Spring Boot.
5
Giorni
5
Broken Projects
5
Quiz colloquio
40h
Formazione totale
1
Engine reale
∞
Pratica