Spring Boot è uno dei framework più popolari per lo sviluppo di applicazioni web basate su Java. La sua facilità d'uso e la sua flessibilità lo hanno reso la scelta preferita di molti sviluppatori. Tuttavia, per iniziare a utilizzare Spring Boot, è necessario installare e configurare correttamente il framework. In questo articolo, vi guiderò passo passo nell'installazione e configurazione di Spring Boot, spiegando i concetti chiave e le migliori pratiche per ottenere il massimo dal framework.
Installazione di Java
Prima di iniziare con Spring Boot, è necessario avere Java installato sulla propria macchina. Spring Boot richiede almeno Java 8, ma è consigliato utilizzare la versione più recente disponibile, come Java 17 o 20, per sfruttare i miglioramenti in prestazioni e sicurezza.
Per installare Java, prima scarica la versione più recente dal sito ufficiale di Oracle, disponibile al link sito ufficiale di Oracle. Esistono anche altre distribuzioni di Java, come OpenJDK o AdoptOpenJDK, che possono essere utilizzate. Dopo aver scaricato il pacchetto, segui le istruzioni per l'installazione, che variano a seconda del sistema operativo.
Su Windows, basta eseguire il file .exe
scaricato e seguire le indicazioni per completare l'installazione. Su macOS o Linux, puoi utilizzare i gestori di pacchetti come brew install openjdk
su macOS o apt install openjdk-XX
su Linux, dove XX
è il numero della versione.
Una volta completata l'installazione, puoi verificare che Java sia stato correttamente installato aprendo il terminale o il prompt dei comandi e digitando java -version
. Se l'installazione è andata a buon fine, vedrai la versione di Java appena installata.
Scegliere un IDE
Un Integrated Development Environment (IDE) è un ambiente fondamentale per lo sviluppo di applicazioni. Esistono diversi IDE per Java, ognuno con le proprie caratteristiche, e la scelta dipende dalle preferenze personali e dalle necessità del progetto. Due degli IDE più utilizzati per Java sono IntelliJ IDEA ed Eclipse, ma c'è anche NetBeans come opzione meno diffusa.
IntelliJ IDEA è considerato uno degli IDE migliori per lo sviluppo con Java, grazie alla sua intelligenza automatica, che include il completamento del codice, la refattorizzazione e il supporto avanzato per Spring Boot. Ha una versione gratuita, la Community Edition (CE), che offre molte delle funzionalità necessarie per la maggior parte dei progetti Java, inclusi quelli basati su Spring Boot. IntelliJ è molto apprezzato per la sua facilità d'uso, la capacità di navigare facilmente nel codice e per gli strumenti di debugging avanzati. Inoltre, offre una perfetta integrazione con i sistemi di versionamento come Git.
Se preferisci un ambiente di sviluppo più configurabile e aperto, puoi scegliere Eclipse, che è anch'esso molto popolare nel mondo Java, soprattutto per lo sviluppo di progetti aziendali o di grandi dimensioni. Eclipse supporta numerosi plugin che ti permettono di estendere le funzionalità dell'IDE, come il supporto per Spring, JPA, Git e Docker. Esiste anche una versione personalizzata di Eclipse, chiamata Spring Tools Suite (STS), che include funzionalità aggiuntive per facilitare lo sviluppo di applicazioni Spring Boot.
Infine, NetBeans è un altro IDE che può essere utilizzato per lo sviluppo in Java, sebbene sia meno popolare rispetto agli altri due. È comunque una buona scelta, specialmente per i principianti, grazie alla sua interfaccia user-friendly e alla facilità di configurazione. Supporta anche più linguaggi di programmazione e può essere utilizzato per applicazioni multipiattaforma.
La scelta dell'IDE dipende dalle tue preferenze. IntelliJ IDEA è generalmente il più consigliato per lavorare con Spring Boot, grazie alla sua integrazione nativa e alle funzionalità avanzate. Tuttavia, se preferisci un ambiente open-source e altamente configurabile, Eclipse è una valida alternativa. Se sei nuovo nel mondo degli IDE o se cerchi una soluzione semplice, NetBeans potrebbe fare al caso tuo.
Creare un nuovo progetto Spring Boot
Una volta installato l'IDE, potete creare un nuovo progetto Spring Boot. In IntelliJ IDEA, basta selezionare "File" > "New" > "Project" e scegliere "Spring" come tipo di progetto. Seguite le istruzioni del wizard per creare il nuovo progetto.
In alternativa, se volete semplificare il processo, potete utilizzare il sito ufficiale di Spring Initializr, che permette di creare il progetto con pochi clic, selezionando le dipendenze, il tipo di build e altre configurazioni. Una volta configurato, basta scaricare il progetto generato e importarlo nel vostro IDE.
Aggiungere le dipendenze
Dopo aver creato il progetto, è necessario aggiungere le dipendenze per Spring Boot. Le dipendenze sono librerie esterne che aggiungono funzionalità al nostro progetto. In Spring Boot, le dipendenze sono gestite attraverso il file pom.xml
(se usate Maven) o build.gradle
(se usate Gradle).
Se state utilizzando Maven, aprite il file pom.xml
e aggiungete le seguenti dipendenze:
<dependencies>
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-web</artifactId>
</dependency>
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-data-jpa</artifactId>
</dependency>
</dependencies>
La prima dipendenza, spring-boot-starter-web
, fornisce le funzionalità per creare applicazioni web. La seconda, spring-boot-starter-data-jpa
, consente l'accesso ai database tramite JPA (Java Persistence API).
Configurare l'applicazione
La configurazione dell'applicazione in Spring Boot può avvenire tramite due principali formati di configurazione: application.properties o application.yml. Entrambi i formati sono utilizzati per configurare le impostazioni di base dell'applicazione, come la connessione al database, la gestione delle risorse, i parametri di sicurezza e altre configurazioni specifiche per l'ambiente. La scelta tra i due formati dipende principalmente dalle preferenze personali e dalla complessità della configurazione.
Il formato application.properties è il più semplice e diretto, in cui ogni proprietà è definita su una singola linea con il formato chiave=valore
. Questo formato è molto usato nella comunità Java e garantisce un'alta compatibilità con vecchi progetti e documentazione. Tuttavia, mancando di una struttura gerarchica, può risultare più difficile da leggere e gestire quando le configurazioni diventano molto complesse, come nel caso di progetti di grandi dimensioni.
D'altra parte, il formato application.yml (YAML) è più leggibile e offre una struttura ad albero che consente una migliore organizzazione delle impostazioni, specialmente quando si lavora con configurazioni nidificate o strutture più complesse. YAML è anche molto più intuitivo per gli sviluppatori che devono configurare applicazioni con molteplici ambienti (sviluppo, test, produzione) grazie alla sua sintassi chiara e pulita. In Spring Boot, è possibile usare entrambi i formati, e la scelta dipende dalle necessità del progetto.
Per esempio, per configurare una connessione a un database H2 in memoria, possiamo utilizzare il formato application.properties con le seguenti impostazioni:
spring.datasource.url=jdbc:h2:mem:mydb
spring.datasource.username=sa
spring.datasource.password=
spring.jpa.hibernate.ddl-auto=create-drop
Queste impostazioni stabiliscono la connessione al database H2 in memoria, con le credenziali di accesso di default (username=sa
e password vuota), e configurano Hibernate per creare e distruggere automaticamente le tabelle al momento dell'avvio e della chiusura dell'applicazione (grazie alla proprietà spring.jpa.hibernate.ddl-auto=create-drop
).
Se invece preferisci utilizzare application.yml per una configurazione più leggibile e strutturata, puoi scrivere la stessa configurazione in questo modo:
spring:
datasource:
url: jdbc:h2:mem:mydb
username: sa
password: ''
jpa:
hibernate:
ddl-auto: create-drop
Noterai che, con YAML, possiamo sfruttare la struttura gerarchica indentata, che rende più chiaro il rapporto tra le proprietà. In questo caso, la configurazione della sorgente dati (datasource
) e di JPA (jpa.hibernate.ddl-auto
) è più leggibile e facilmente estendibile in futuro. Ad esempio, se dovessi aggiungere altre configurazioni, come quelle per un altro database o altre impostazioni specifiche, sarebbe semplice farlo senza rendere il file troppo confuso.
In generale, entrambi i formati sono ugualmente supportati da Spring Boot e hanno funzionalità equivalenti. La scelta tra application.properties
e application.yml
dipende quindi dal tuo stile di lavoro e dalle preferenze del team di sviluppo. Se desideri una configurazione più strutturata e leggibile, YAML è probabilmente la scelta migliore. Se preferisci mantenere un file più semplice e compatibile con progetti precedenti, i file .properties
potrebbero essere la soluzione ideale.
Creare la classe di avvio
La classe di avvio è il cuore dell'applicazione Spring Boot. Si tratta di una classe che estende SpringBootApplication
, la quale contiene il metodo main()
per avviare l'applicazione.
Creiamo una classe chiamata MyApplication
con il seguente codice:
@SpringBootApplication
public class MyApplication {
public static void main(String[] args) {
SpringApplication.run(MyApplication.class, args);
}
}
Avviare l'applicazione
Ora che la configurazione è completata, è il momento di avviare l'applicazione. In IntelliJ IDEA, potete farlo selezionando "Run" > "MyApplication" oppure premendo "Shift + F10". L'applicazione sarà disponibile all'indirizzo http://localhost:8080
.
Conclusione
In questo articolo abbiamo visto come installare e configurare Spring Boot passo dopo passo. Abbiamo creato un nuovo progetto, aggiunto le dipendenze necessarie, configurato l'applicazione e creato la classe di avvio. Ora siamo pronti per sviluppare la nostra applicazione web con Spring Boot.
Ricordate che Spring Boot è un framework molto potente e flessibile, con molte opzioni di configurazione per adattarsi alle vostre esigenze. Continuate a esplorare le sue funzionalità per migliorare le vostre applicazioni.