Corso Spring Java Framework
Corso-Spring-Java-Framework è un framework Java open-source molto potente ed utilizzato per lo sviluppo applicazioni Java.
Attualmente Spring sta diventato un’alternativa al modello EJB (Enterprice Java Beans). Tuttavia Spring può essere utilizzato in qualunque applicazione Java e JEE.
Perchè uno sviluppatore dovrebbe scegliere Corso-Spring-Java-Framework come tecnologia e framework?
La risposta è semplice: perchè Spring è un framework leggero, è un lightwight container ed ha un facile processo testing per un codice di qualità. Spring può essere all’occorrenza un’alternativa o un complemento a JEE. Spring è modulare e propone un modello semplice e leggero per lo sviluppo di entità di business.
Spring, infine fornisce una serie completa di strumenti in grado di gestire l’intera complessità di un progetto software.
Requisiti degli studenti: conoscenze di programmazione ad oggetti e Java SE
Obiettivo del corso: acquisire le competenze sullo sviluppo applicazioni web con il framework Spring (Spring Data, Spring Boot, Spring TX, Spring MVC)
Corso Spring Java Framework erogato solo su richiesta e per le aziende. Modalità virtual classroom online o frontale.
Programma didattico Corso-Spring-Java-Framework (56 ore)
1. Introduzione a Spring Framework
- Panoramica Spring Technology
- Perchè utilizzare Spring
- Architettura
- Spring Framework
- Spring
- Declaring and Managing Beans
- ApplicationContexts
- Component/Named
- Dependencies and Dependency Injection (DI)
- Panoramica Dependencies
- Dependency Inversion / Dependency Injection (DI)
- Injection con Autowired
2. Configurazione ambiente di sviluppo
- Configurazione Java Based
- Panoramica, Configurazione, Bean
- Dependency Injection
- Resoluzione delle Dependencies
- Bean Scope & Lifecycle
- Singleton, Prototype, e Other Scopes
- Configurazione Scope
- Bean Lifecycle / Callbacks
- 3. Esternalizzazione delle Properties
- Properties Files
- PropertySource, property-placeholder
- Utilizzo di @Value
- 4. Profiles
- Panoramica e Configurazione
- Attivazione Profiles
3. Introduzione Spring Boot e al Test Driven Development
- Maven e Spring
- Spring Boot Structure
- Spring POMs con Boot Parents
- Spring Boot Starters
- Capabilities
- Principi SOLID
- Test Driven Development con JUnit
- Isolamento delle componenti con Mockito
- Test di integrazione con Spring Boot
- Coverage e codice duplicato
- Riduzione del codice con Project Lombok
- Logging
4. Spring e Spring Data con Hibernate/JPA
- Introduzione a Spring database support
- Configurazione di un DataSource
- Utilizzo di Spring con Hibernate
- Panoramica High Level Hibernate
- Factory configuration, LocalSessionFactoryBean
- Contextual Sessions &Spring Integration
- Utilizzo di Spring con JPA
- Creazione di un JPA Repository/DAO Bean – @PersistenceUnit, @PersistenceContext
- Test unitari di Repository con H2
- Esportazione dello schema del database
- Introduzione a Spring Data
- Panoramica e Architettura
- Configurazione Spring Data
- Repositories & JPA Repositories
- Utilizzo di CrudRepository
- Spring Data Querying
- Naming Conventions per Querying
- Creazione Complex Queries
- Query Configurazione
5. Spring Transaction (TX) Management
- Introduzione
- Declarative TX Management (REQUIRED, etc.)
- TX Scope & Propagation
- XML Configurazione delle Transactions
- Specifying Advice, TX Attributes, Methods
- Linking Advice con Pointcuts
- Benefici della Configurazione XML di TX Behavior
6. Spring Web Integration ed Introduzione a Spring MVC
- Java EE Web App Integration
- Introduzione al template engine Thymeleaf
- Panoramica Web MVC
- Spring MVC:
- Configurazione e DispatcherServlet
- @Controller, @RequestMapping (Handlers)
- @RequestParam e Parameter Binding
- View Resolvers
- Controller Details – @RequestParam, @PathVariable
- Model Data e @ModelAttribute
7. Funzionalità aggiuntive Spring MVC
- @ModelAttribute e Reference Data
- Forms e Binding, Spring Form Tags
- Sessions and @SessionAttributes
- Validation / JSR-303
- WebJars
- Test unitari dei controller
8. RESTful Services con Spring
- Panoramica REST, URI Templates
- REST e Spring MVC
- Spring support per REST
- @RequestMapping/@PathVariable, @RequestBody, @ResponseBody
- URI Templates & @PathVariable
- Controllers con @RestController
- Introduzione a MapStruct
- Generare JSON
Introduzione a JSON
JSON Representations per Resources
Message Converters - Generare XML
JAXB e Jackson Message Converters per XML
JAXB / @XmlRootElement - Content Negotiation
Spring Rest Repositories
Test unitari dei controller REST
9. Java Clients per RESTful Services
- Client Requirements & Spring’s RestTemplate
- getForObject() / getForEntity()
- Altri Metodi RestTemplate
- Accessing Headers / exchange()
10. Reactive Programming con Spring
- Introduzione al Reactive Programming
- Mono & Flux
- Creazione Reactive Repositories
- Creazione Reactive Controllers
- Integrazione con MongoDB
- Test unitari con MongoDB Embedded
11. Common REST Patterns
- GET: Read
- POST: Create
- PUT: Update
- DELETE: Delete
- Programmazione server side e client side (con RestTemplate)