SPRING FRAMEWORK

  • Spring è un framework “leggero” e grazie alla sua architettura estremamente modulare é possibile utilizzarlo nella sua interezza o solo in parte. L’adozione di Spring in un progetto è molto semplice, può avvenire in maniera incrementale e non ne sconvolge l’architettura esistente. Questa sua peculiarità ne permette anche una facile integrazione con altri framework esistenti, come ad esempio Struts.
  • Spring è un lightweight container e si propone come alternativa/complemento a J2EE. A differenza di quest’ultimo, Spring propone un modello più semplice e leggero (soprattutto rispetto ad EJB) per lo sviluppo di entità di business. Tale semplicità è rafforzata dall’utilizzo di tecnologie come l’Inversion of Control e l’Aspect Oriented che danno maggiore spessore al framework e favoriscono la focalizzazione dello sviluppatore sulle logica applicativa essenziale.
  • A differenza di molti framework che si concentrano maggiormente nel fornire soluzioni a problemi specifici, Spring mette a disposizione una serie completa di strumenti atti a gestire l’intera complessità di un progetto software. Analizzeremo in dettaglio gli strumenti offerti da questo framework, per ora è sufficiente affermare che Spring fornisce un approccio semplificato alla maggior parte dei problemi ricorrenti nello sviluppo software (accesso al database, gestione delle dipendenze, testing, etc.).
  • Spring è un framework nato con la concezione che il codice di qualità debba essere facilmente testato. Questa filosofia fa sì che, con Spring, sia molto facile testare il codice e, grazie a questa peculiarità, il framework si è ritagliato uno spazio importante in quegli ambiti dove il testing è considerato parte fondamentale del progetto software.

Nel corso della guida avremo modo di rispondere meglio alla domanda posta e ad altri dubbi che sorgono ogni volta che ci si approccia a studiare un nuovo framework.

SPRING FRAMEWORK

SPRING FRAMEWORK Spring framework è costituito da un ecosistema di software costantemente migliorato e aggiornato dalla community. Questo è uno dei principali punti di forza che hanno reso Spring il framework maggiormente utilizzato nello sviluppo di applicazioni enterprise su piattaforma Java. Le tecnologie che imparerai in questo corso sono le seguenti: SPRING MVC SPRING BOOT SPRING SECURITY SPRING DATA JPA TOOL DI SVILUPPO Il tool di sviluppo che useremo nei progetti sarà lo Spring Tool Suite. Ci sono altre tecnologie che imparerai grazie a spring framework e che sono: ORM Hibernate JPA (Java Persistent Api) Oltre a questo, avremo [...]

Di |2024-11-10T15:49:38+00:00Ottobre 15, 2023|0 Commenti

SPRING FRAMEWORK INSTALLAZIONE COMPONENTI SU WINDOWS

SPRING FRAMEWORK INSTALLAZIONE COMPONENTI IN WINDOWS Prima di illustrare i tool necessari per utilizzare Spring Framework su Windows ti riepilogo le caratteristiche della mia macchina di sviluppo, a breve capirai il perché. Sto lavorando su un computer MacOS Sonoma 14.1 chip Apple M2 architettura ARM 64. Tramite Parallel Desktop per Mac Standard edition ho virtualizzato due ambienti, Windows 11 Professional e Ubuntu Linux 22-04 LTS. Purtroppo, su questa architettura non sono supportati SQL Server Express 2022 e Sql Server Management Studio (SSMS). Per questo motivo non potrò farti vedere le installazioni di queste due componenti. Se tu non sei [...]

Di |2024-11-10T15:50:59+00:00Ottobre 26, 2023|0 Commenti

SPRING FRAMEWORK INSTALLAZIONE COMPONENTI SU LINUX

SPRING FRAMEWORK INSTALLAZIONE COMPONENTI SU LINUX Prima di illustrarti i tool necessari per Spring Framework su una macchina Ubuntu 22-04 LTS ti riepilogo le caratteristiche della mia macchina di sviluppo, a breve capirai il perché. Sto lavorando su un computer MacOS Sonoma 14.1 chip Apple M2 architettura ARM 64. Tramite Parallel Desktop 19 per Mac Standard edition ho virtualizzato due ambienti, Windows 11 Professional e Ubuntu Linux 22-04 LTS. Purtroppo, su questa architettura sia in Ubuntu 22-04 LTS che su Windows non è supportato MySQL Server e MySqlWorkbench. Per questo motivo non potrò farti vedere l’installazione di questa componente. [...]

Di |2024-11-10T16:10:48+00:00Ottobre 29, 2023|0 Commenti

SPRING FRAMEWORK INSTALLAZIONE COMPONENTI SU macOS

SPRING FRAMEWORK INSTALLAZIONE COMPONENTI SU macOS Questa è la macchina con cui terrò il corso, possiedo infatti un MacBookPro con macOS Sonoma 14.1 installato, chip Apple Silicon M2 Memoria 8GB e SSD 512 GB. Su Mac è disponibile sia MySQL Server sia MySqlWorkbench, ragion per cui utilizzerò questo DBMS. Ti farò vedere però come sia possibile avere SQL Server su Mac sfruttando un container Docker e come tutta la gestione del server venga semplificata attraverso l’utilizzo di Azure Data Studio. Iniziamo con l’installazione delle varie componenti. INSTALLAZIONE DEL JDK Vai con il tuo browser preferito al seguente indirizzo: https://www.oracle.com/it/java/technologies/downloads/ [...]

Di |2024-11-10T14:47:34+00:00Ottobre 31, 2023|0 Commenti

SPRING FRAMEWORK INTRODUZIONE ALLO SPRING CONTEXT

INTRODUZIONE AL FRAMEWORK SPRING In questo articolo vedremo cos'è il Framework Spring, chiariremo il concetto di Framework, introdurremo lo Spring Context elemento essenziale nello sviluppo con questo framework e infine parleremo di Maven e del ruolo che assume in Spring. La parte di apprendimento sarà accompagnata con lo sviluppo del primo progetto Maven, semplice, che ci introdurrà lo Spring Context. DEFINIZIONE DI FRAMEWORK Abbiamo detto che lo Spring è un Application Framework, ma i framework cosa sono? Diamo una definizione. Il grosso vantaggio dei framework è che ci permettono di concentrarci sulle [...]

Di |2024-11-10T16:18:48+00:00Novembre 1, 2023|0 Commenti

SPRING FRAMEWORK INTRODUZIONE AL CODE INJECTION

INTRODUZIONE AL CODE INJECTION DISTINGUERE I BEAN CON IL NOME E LA NOTAZIONE PRIMARY Prima di parlare di Code Injection affrontiamo altri argomenti anch'essi fondamentali nello Spring Framework. Con il codice del precedente articolo abbiamo visto che con un Bean è tutto funzionante. Tuttavia, ci dobbiamo chiedere se anziché avere un solo cliente, quindi un solo Bean ce ne fossero due? Testiamolo inseriamo un altro Bean lo chiamiamo cliente2 e vediamo se lo Spring Context riesce a risolvere e distinguere i due Bean. Modifichiamo anche la classe Main e vediamo se tutto funziona. Riporto le modifiche al codice. [...]

Di |2024-11-10T16:28:43+00:00Novembre 6, 2023|0 Commenti

SPRING FRAMEWORK ASTRAZIONE DEI COMPONENTI

L’ASTRAZIONE DEI COMPONENTI DELL’APPLICAZIONE L’astrazione è una tecnica basata sulle interfacce di Java che garantisce l’isolamento delle classi rispetto alla loro implementazione. Sarà tutto più chiaro quando andremo ad implementare il nostro progetto di test. Vedrai una struttura più complessa del progetto rispetto a quanto visto fono ad ora, normalmente questa è la struttura dei progetti basati su Spring. CREAZIONE DEL PACKAGE CONFIG Creiamo il package config con all’interno la classe ConfigApp. Abbiamo già visto la notazione @ComponentScan ti ripeto che Spring andrà a cercare nei package notifications, service, repository gli oggetti da inserire nel Context [...]

Di |2024-11-10T16:32:07+00:00Novembre 9, 2023|0 Commenti

INTRODUZIONE A SPRING MVC

INTRODUZIONE ALLE WEB APPLICATION È grazie allo Spring Framework che possiamo realizzare le Web Applications. Vediamo subito di chiarire cosa sono le Web App con il supporto di alcune immagini. ANALIZZIAMO LA FIGURA SOPRA RIPORTATA Nel momento in cui digitiamo nel browser un indirizzo, il browser stesso usa come mezzo di comunicazione Internet e utilizza un protocollo HTTP, o HTTPS quando i dati sono criptati, per inviare la richiesta. Nel fare questo invia una specifica richiesta a un server, un computer in grado di soddisfare le richieste, in questo caso abbiamo richiesto la risorsa index e [...]

Di |2023-11-12T19:09:48+00:00Novembre 12, 2023|0 Commenti

CREAZIONE DI UN TEMPLATE CON APACHE TILES

CREAZIONE DI UN TEMPLATE CON APACHE TILES La prima cosa che devi fare è aprire il tuo Spring Tool Suite e copiare il progetto test e incollarlo. Il nome che devi dare al progetto è AlphaShop. Poi vai nel file pom.xml, modifica l’ArtifactId con alphashop, sostituisci tutte le occorrenze denominate Test1 in alphashop. Dobbiamo inoltre impostare una dipendenza ad Apache Tiles come riportato in figura. CONFIGURAZIONE DI APACHE TILES Aggiunta la dipendenza salva il progetto, le librerie verranno aggiornate. Ora andremo a creare una cartella sotto il folder WEB-INF, layouts con all’interno altre due cartelle, definitions [...]

Di |2023-11-16T02:35:07+00:00Novembre 16, 2023|0 Commenti

SPRING MVC LO STRATO DI DOMINIO E IL DRIVER JDBC

INTRODUZIONE ALLO STRATO DI PERSISTENZA Come ti ricorderai, quando abbiamo analizzato gli strati della nostra applicazione web, accanto allo strato di presentazione che gestisce le richieste e crea le risposte HTML, XML, JSON in risposta al client, esiste anche lo strato di persistenza il cui scopo è quello di interfacciare il DBMS alla nostra applicazione. Il database può essere di tipo relazionale oppure NOSQL come MongoDB. In questo corso utilizzeremo SQL Server, quindi un database relazionale. La scelta è ricaduta su questo DBMS (ci sarà anche la parte MySQL) perché Windows lo supporta nativamente, per Linux [...]

Di |2023-12-09T20:45:20+00:00Novembre 26, 2023|0 Commenti
Torna in cima