Corso Spring Java Framework

56 ore
Qualsiasi livello

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
  1. Perchè utilizzare Spring
  2. Architettura
  3. Spring Framework
  • Spring
  1. Declaring and Managing Beans
  2. ApplicationContexts
  3. Component/Named
  • Dependencies and Dependency Injection (DI)
  1. Panoramica Dependencies
  2. Dependency Inversion / Dependency Injection (DI)
  3. Injection con Autowired

2. Configurazione ambiente di sviluppo

  • Configurazione Java Based
  1. Panoramica, Configurazione, Bean
  2. Dependency Injection
  3. Resoluzione delle Dependencies
  • Bean Scope & Lifecycle
  1. Singleton, Prototype, e Other Scopes
  2. Configurazione Scope
  3. Bean Lifecycle / Callbacks
  • 3. Esternalizzazione delle Properties
  1. Properties Files
  2. PropertySource, property-placeholder
  3. Utilizzo di @Value
  • 4. Profiles
  1. Panoramica e Configurazione
  2. 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
  1. Panoramica High Level Hibernate
  2. Factory configuration, LocalSessionFactoryBean
  3. Contextual Sessions &Spring Integration
  • Utilizzo di Spring con JPA
  1. Creazione di un JPA Repository/DAO Bean – @PersistenceUnit, @PersistenceContext
  2. Test unitari di Repository con H2
  3. Esportazione dello schema del database
  • Introduzione a Spring Data
  1. Panoramica e Architettura
  2. Configurazione Spring Data
  3. Repositories & JPA Repositories
  4. Utilizzo di CrudRepository
  • Spring Data Querying
  1. Naming Conventions per Querying
  2. Creazione Complex Queries
  3. Query Configurazione

5. Spring Transaction (TX) Management

  • Introduzione
  • Declarative TX Management (REQUIRED, etc.)
  • TX Scope & Propagation
  • XML Configurazione delle Transactions
  1. Specifying Advice, TX Attributes, Methods
  2. Linking Advice con Pointcuts
  3. 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:
  1. Configurazione e DispatcherServlet
  2. @Controller, @RequestMapping (Handlers)
  3. @RequestParam e Parameter Binding
  4. View Resolvers
  5. Controller Details – @RequestParam, @PathVariable
  6. 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
  1. Generare JSON
    Introduzione a JSON
    JSON Representations per Resources
    Message Converters
  2. Generare XML
    JAXB e Jackson Message Converters per XML
    JAXB / @XmlRootElement
  3. 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

  1. GET: Read
  2. POST: Create
  3. PUT: Update
  4. DELETE: Delete
  5. Programmazione server side e client side (con RestTemplate)

Vuoi essere ricontattato?

Lasciaci il tuo numero telefonico e la tua email, ti richiameremo nelle 24h:

    Contattaci su Whatsapp