Changing the Default Port of Spring Boot Apps [Snippets]

DZone 's Guide to

Changing the Default Port of Spring Boot Apps [Snippets]

Let's take a look at three different approaches you can take to defining your Spring Boot app's default Tomcat port, as well as the impacts of those approaches.

· Java Zone ·
Free Resource

By default, Spring Boot applications run on an embedded Tomcat via port 8080. In order to change the default port, you just need to modify the server.port attribute, which is automatically read at runtime by Spring Boot applications.

In this tutorial, we provide a few common ways of modifying the server.port attribute.


Create an application.properties file under src/main/resources and define the server.port attribute inside it:



You can customize the properties of the default servlet container by implementing the EmbeddedServletContainerCustomizer interface as follows:

package com.programmer.gate;

import org.springframework.boot.context.embedded.ConfigurableEmbeddedServletContainer;
import org.springframework.boot.context.embedded.EmbeddedServletContainerCustomizer;

public class CustomContainer implements EmbeddedServletContainerCustomizer {
    public void customize(ConfigurableEmbeddedServletContainer container) {

The port defined inside the CustomContainer always overrides the value defined inside application.properties.

Command Line

The third way is to set the port explicitly when starting up the application through the command line. You can do this in two different ways:

  • java -Dserver.port=9090 -jar executable.jar
  • java -jar executable.jar –server.port=9090

The port defined using this way overrides any other ports defined through other ways.

java ,spring boot ,default port ,configuration

Published at DZone with permission of Hussein Terek , DZone MVB. See the original article here.

Opinions expressed by DZone contributors are their own.

{{ parent.title || parent.header.title}}

{{ parent.tldr }}

{{ parent.urlSource.name }}