Top community members
All Wiki Articles Create Wiki Article

Have you ever heard about encyclopedia for code?

What about: Wiki for Code project?

* because I've tried to share code and my solutions on different services and it was removed or I was unwelcomed
   - maybe it wasn't good place, but this one is.

if you think you have solution that can help someone, you are welcome to share this solution - Click here

Spring Boot - change default port 8080 to other port in embedded server

0 contributions
2 points

1. Introduction

By default Spring Boot application uses embeded tomcat server that starts with default port 8080. Most commons approach to change default port to different is to change application.properties file configuration.

In this article different technics how to change port In Spring Boot 1 and 2 are described.

2. Properties and Yaml file examples

In this section same way to configure spring boot port is presented by with different file types.

2.1. application.properties file

This solution is dedicated if *.properties file is used to keep configuration. Add or change line server.port with own port number.

.../src/main/resources/application.properties file:

server.port=80

or

server.port: 80

Note: = and : separators are allowed.

server.port with application.properties file location - Spring Boot + IntelliJ
server.port with application.properties file location - Spring Boot + IntelliJ

2.2. application.yml file

This solution is dedicated if *.yml file is used to keep configuration. Add server and   port: 80 lines or change line   port: 80 with own port number.

.../src/main/resources/application.yml file:

server:
  port: 80

Note: do not forget to use indentations in right way. 

 3. From source code level example

This approach overides settings located inside properties and yaml from source code level - can be used to override default values too.

Note: read this article to see the exact place where to keep bean configurations.

3.1. Spring Boot 1.x.x - custom container component class

In this approach EmbeddedServletContainerCustomizer class is used to create component that overrides configuration.

CustomContainer.java file:

package com.dirask.examples;

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

@Component
public class CustomContainer implements EmbeddedServletContainerCustomizer {

    @Override
    public void customize(ConfigurableEmbeddedServletContainer container) {
        container.setPort(80);
    }
}

CustomContainer.java file location:

Server port with CustomContainer.java file location - Spring Boot 1.x.x + IntelliJ
Server port with CustomContainer.java file location - Spring Boot 1.x.x + IntelliJ

3.2. Spring Boot 2.x.x - web server factory bean

In this approach webServerFactory() method that returns ConfigurableServletWebServerFactory object is used.

ServerConfig.java file:

package com.dirask.examples;

import org.springframework.boot.web.embedded.tomcat.TomcatServletWebServerFactory;
import org.springframework.boot.web.servlet.server.ConfigurableServletWebServerFactory;
import org.springframework.context.annotation.Bean;
import org.springframework.context.annotation.Configuration;

@Configuration
public class ServerConfig {

    @Bean
    public ConfigurableServletWebServerFactory webServerFactory() {
        TomcatServletWebServerFactory factory = new TomcatServletWebServerFactory();

        factory.addConnectorCustomizers(connector -> {
            connector.setPort(80);
        });

        return factory;
    }
}

ServerConfig.java file location:

Server port with ServerConfig.java file location - Spring Boot 2.x.x + IntelliJ
Server port with ServerConfig.java file location - Spring Boot 2.x.x + IntelliJ

3. Command line example

Run your application from command line adding port information.

$ java -jar -Dserver.port=80 com.dirask.examples-1.0.jar

 

0 contributions

Checkout latest Findings & News:

Checkout latest questions:

Checkout latest wiki articles:

Hey ūüĎč
Would you like to know what we do?
  • Dirask is IT community, where we share coding knowledge and help each other to solve coding problems.
  • We welcome everyone,
    no matter what the experience,
    no matter how basic the question is,
    this community will help you.
Read more