Guida rapida per modificare la porta predefinita di Spring Boot

21 feb 2024 2 min di lettura
Guida rapida per modificare la porta predefinita di Spring Boot
Indice dei contenuti

Introduzione

Spring Boot è un potente framework che semplifica lo sviluppo di nuove applicazioni Spring attraverso impostazioni predefinite sensate. Una delle sue numerose funzionalità è il server incorporato preconfigurato, che consente agli sviluppatori di eseguire applicazioni immediatamente. Tuttavia, potrebbero verificarsi situazioni in cui la porta del server predefinita (solitamente 8080) entra in conflitto con altre applicazioni o non soddisfa requisiti di distribuzione specifici. Questa guida ti guiderà attraverso il processo di modifica della porta predefinita in un'applicazione Spring Boot, assicurando che l'applicazione funzioni senza problemi sulla porta desiderata.

Porta predefinita di Spring Boot

Prima di approfondire la personalizzazione, è essenziale comprendere come Spring Boot configura il proprio server incorporato. Per impostazione predefinita, le applicazioni Spring Boot utilizzano Tomcat come server incorporato, in ascolto sulla porta 8080 . Questa configurazione è flessibile e può essere facilmente regolata tramite le proprietà dell'applicazione o a livello di codice.

Metodo 1: utilizzo dei file di configurazione

Il modo più semplice per modificare la porta predefinita è specificare una nuova porta nel file application.properties o application.yml situato nella directory src/main/resources .

Per application.properties:

server.port=9090

Per application.yml:

server:
  port: 9090

Dopo aver impostato la porta desiderata, riavvia l'applicazione. Ora dovrebbe essere accessibile sulla nuova porta.

Per le applicazioni distribuite in ambienti diversi (ad esempio, sviluppo, test, produzione), è efficiente utilizzare i profili Spring per definire configurazioni specifiche dell'ambiente, comprese le porte del server.

Per application-dev.properties:

server.port=9090

Attiva il profilo impostando la proprietà spring.profiles.active all'avvio dell'applicazione:

java -jar myapplication.jar --spring.profiles.active=dev

Questa configurazione consente configurazioni flessibili e specifiche dell'ambiente, semplificando la gestione delle impostazioni delle porte in vari scenari di distribuzione.

Metodo 2: impostazione della porta a livello di codice

Se è necessario un controllo più dinamico sulla configurazione della porta, è possibile impostare la porta a livello di codice. Questo approccio è utile quando è necessario determinare la porta in fase di esecuzione in base a condizioni specifiche o configurazioni esterne.

Codice di esempio:

import org.springframework.boot.SpringApplication;
import org.springframework.boot.autoconfigure.SpringBootApplication;
import org.springframework.boot.web.server.WebServerFactoryCustomizer;
import org.springframework.boot.web.servlet.server.ConfigurableServletWebServerFactory;
import org.springframework.context.annotation.Bean;

@SpringBootApplication
public class MyApplication {

    public static void main(String[] args) {
        SpringApplication.run(MyApplication.class, args);
    }

    @Bean
    public WebServerFactoryCustomizer webServerFactoryCustomizer() {
        return factory -> factory.setPort(9090);
    }
}

Questo frammento di codice definisce un bean WebServerFactoryCustomizer che personalizza la porta del server incorporato prima dell'avvio dell'applicazione.

Metodo 3: utilizzo degli argomenti della riga di comando

Puoi anche sovrascrivere la porta predefinita specificando un argomento della riga di comando all'avvio dell'applicazione. Questo metodo è particolarmente utile per modifiche temporanee o quando si distribuisce l'applicazione in ambienti diversi che richiedono porte diverse.

java -jar myapplication.jar --server.port=9090

Questo comando avvia l'applicazione Spring Boot con il server incorporato in ascolto sulla porta 9090.

Conclusione

La modifica della porta predefinita in un'applicazione Spring Boot è semplice e può essere ottenuta tramite diversi metodi a seconda dei requisiti specifici. Sia attraverso le proprietà dell'applicazione, a livello di programmazione, utilizzando argomenti della riga di comando o con configurazioni specifiche dell'ambiente, Spring Boot offre la flessibilità necessaria per garantire che la tua applicazione venga eseguita sulla porta più adatta alle tue esigenze. Seguendo questa guida, puoi personalizzare le impostazioni delle porte dell'applicazione Spring Boot per allinearle alle tue strategie di distribuzione ed evitare conflitti di porte, garantendo processi di sviluppo e distribuzione delle applicazioni fluidi.

Support us with a

Successivamente, completa il checkout per l'accesso completo a Noviello.it.
Bentornato! Accesso eseguito correttamente.
Ti sei abbonato con successo a Noviello.it.
Successo! Il tuo account è completamente attivato, ora hai accesso a tutti i contenuti.
Operazione riuscita. Le tue informazioni di fatturazione sono state aggiornate.
La tua fatturazione non è stata aggiornata.