Porta padrão no Spring Boot: 5 maneiras de configurar

Treinador Online de Python para Iniciantes

Aprenda Python facilmente sem sobrecarga teórica. Resolva tarefas práticas com verificação automática e escreva código diretamente no navegador.

Start Course

Por que seu Spring Boot "não quer" escutar na porta 8080?

\n

Você inicia sua primeira aplicação Spring Boot, vê o banner tão esperado no console, abre o navegador — e aparece "Connection refused". Situação familiar? Na maioria das vezes, o problema é que a porta 8080 já está ocupada por outro processo (por exemplo, Skype, Docker ou uma segunda instância da sua própria aplicação). Ou, ao contrário, você precisa executar três microsserviços na mesma máquina, e todos eles querem capturar a mesma porta.

\n

Neste artigo, vamos abordar todas as principais maneiras de configurar a porta no Spring Boot — desde as mais simples até as "de produção" para ambientes reais. Você aprenderá como sobrescrever a porta através de arquivos de configuração, variáveis de ambiente, argumentos de linha de comando e até mesmo programaticamente. E no final, darei uma lista de verificação sobre qual método escolher dependendo da situação.

\n\n

Método 1: application.properties — o clássico

\n

O método mais comum e intuitivo. No arquivo src/main/resources/application.properties, basta adicionar uma linha:

\n
server.port=9090
\n

Pronto. Após reiniciar a aplicação, ela escutará na porta 9090. Se precisar voltar para a 8080, basta remover ou comentar a linha.

\n

Vantagens: simplicidade, clareza, funciona "de fábrica".

\n

Desvantagens: fica fixo no código — para cada ambiente (dev, test, prod) será necessário alterar o arquivo manualmente ou usar perfis.

\n\n

Método 2: application.yml (YAML) — para quem gosta de estrutura

\n

Se você prefere o formato YAML, a configuração ficará assim:

\n
server:\n  port: 9090
\n

Observe a indentação: dois espaços antes de port. O YAML é sensível a espaços, mas permite agrupar configurações. Por exemplo, você pode definir também o caminho de contexto:

\n
server:\n  port: 9090\n  servlet:\n    context-path: /myapp
\n

Quando usar: se seu projeto já utiliza YAML para todas as configurações (por exemplo, para Spring Cloud Config).

\n\n

Método 3: Argumentos de linha de comando — flexibilidade para DevOps

\n

O método mais flexível, frequentemente usado em contêineres e CI/CD. Ao iniciar o arquivo JAR, basta passar o parâmetro:

\n
java -jar myapp.jar --server.port=9090
\n

Ou, se estiver usando o plugin Maven/Gradle:

\n
mvn spring-boot:run -Dspring-boot.run.arguments=--server.port=9090
\n

Os argumentos de linha de comando têm a maior prioridade entre todos os métodos de configuração no Spring Boot. Isso significa que eles sobrescreverão até mesmo o que está escrito no application.properties.

\n

Ideal para: contêineres Docker, Kubernetes, deploys automatizados.

\n\n

Método 4: Variáveis de ambiente — padrão de aplicações twelve-factor

\n

O Spring Boot lê automaticamente as variáveis de ambiente e as converte em propriedades. A regra é simples: SERVER_PORT (em maiúsculas, sublinhado no lugar do ponto) se torna server.port.

\n

No Linux/macOS:

\n
export SERVER_PORT=9090\njava -jar myapp.jar
\n

No Windows (cmd):

\n
set SERVER_PORT=9090\njava -jar myapp.jar
\n

No Docker Compose, fica ainda mais elegante:

\n
services:\n  myapp:\n    image: myapp:latest\n    ports:\n      - "9090:9090"\n    environment:\n      - SERVER_PORT=9090
\n

Por que isso é legal: as variáveis de ambiente não vão para o repositório, são fáceis de alterar para diferentes ambientes e seguem a metodologia 12-factor app.

\n\n

Método 5: Configuração programática — para microgerenciamento

\n

Às vezes, é necessário calcular a porta dinamicamente (por exemplo, encontrar uma porta livre ou obtê-la de um serviço externo). Nesse caso, o código Java vem ao resgate.

\n

A opção mais simples é sobrescrever o método setServerPort na clas

Blogs

Book Recommendations