Newsletter |
Spring Boot – How to Change Default Tomcat Server Port
In our previous RESTful example, when we start the application Spring Boot’s inbuilt tomcat server by default will take 8080 as its port number, did you observe that 🙂 go back and have a look once. In this article, I am going to show you how to change that default tomcat’s port number 8080 to something else.
In Spring Boot, we can change tomcat’s port number in 2 ways…
- Using application.properties
- Using Java code change
Firstly, let me show you using application.properties. Consider the previous ‘Creating a RESTful Web Service Example‘, here I just created application.properties file in src/main/resources no other changes.
Structure looks
application.properties
server.port = 2017
A single line server.port will change the Spring Boot tomcat’s port number, if you run the application the server will takes 2017 as its port number, you can check the port in the console and can execute the application.
Console
Using Java code change
In this approach, we will create a simple java class which implements EmbeddedServletContainerCustomizer interface of Spring Boot, this is a strategy interface for customizing auto-configured embedded servlet containers, and we need to override customize() method of that interface that’s it, let me show you an example.
Directory Structure
I have created a java class in com.java4s.app.server package with name Server.java
Server.java
package com.java4s.app.server; import org.springframework.boot.context.embedded.ConfigurableEmbeddedServletContainer; import org.springframework.boot.context.embedded.EmbeddedServletContainerCustomizer; import org.springframework.stereotype.Component; @Component public class Server implements EmbeddedServletContainerCustomizer { @Override public void customize(ConfigurableEmbeddedServletContainer container) { container.setPort(2018); } }
If you run the application, now the server will consider 2018 as its port number.
Console
Note: If you use both application.properties and Java config, Spring Boot will give preference for Java only, I mean it takes 2018 as its tomcat port number, you can download this example and give a try 😉
You Might Also Like
::. About the Author .:: | ||
How to add application.properties file in Project
Right click on resources > New > File > write the file name as application.properties
Just on a side note. In spring boot 2.0 EmbeddedServletContainerCustomizer has been refactored to WebServerFactoryCustomizer.
Hi sir, What is @component annotation?
Hello Siva. I am Naveen.Regualr follower of your articles..Would you please explain Spring 2.X with Weblogic 12.1.X.I am trying to do since one month .I am getting failed to do it.WOuld you plaese add an article.Total my class is waiting for your reply.