Realizziamo un applicazione web completa, vedendo tutti i livelli classici. Impariamo come viene strutturato un progetto, capiamo i concetti di "Dependency injection" e "inversion of control" e le principali annotazioni di spring.
Iniziamo con il livello di persistenza, realizzandolo in tre modi, jdbc, jdbcTemplate e spring data jpa. Impariamo i comandi di base e i principi di docker, usando come database una immagine di postgreSQL invece del solito mySql. Impariamo anche come mettere i dati ricavati in cache per evitare di chiamare il db per le chiamate successive.
Creiamo il livello di service, trasformando le nostre entità in dto e integrando servizi esterni, esponiamo i nostri dati in diversi formati con il livello di controller.
Infine implementiamo spring security con due meccanismi di lettura user & password, formLogin e httpBasic.