What is Embedded Server in Spring Boot?
Embedded Server is one of the most important features of Spring Boot.
It means the web server runs inside the Spring Boot application itself.
Developers do not need to install and configure external servers like Tomcat separately because Spring Boot provides built-in servers.
Simple Definition
Embedded Server is a built-in web server that comes packaged inside the Spring Boot application.
Embedded Server = Server included inside the application itself.
Why Embedded Server was introduced?
Before Spring Boot, developers had to:
- Install external Tomcat or JBoss server
- Configure server settings manually
- Create WAR files
- Deploy applications manually into server folders
- Manage server compatibility issues
This process was time-consuming and complicated.
Spring Boot introduced Embedded Servers to simplify application deployment.
Real-Time Example
Suppose we are developing REST APIs for Dhanish Empower.
When we add:
org.springframework.boot
spring-boot-starter-web
Spring Boot automatically includes:
- Embedded Tomcat Server
- Servlet Container
- HTTP Request Processing
- REST API Support
We can directly run the application using:
java -jar app.jar
The server starts automatically without separate installation.
Default Embedded Servers in Spring Boot
| Server | Description |
|---|---|
| Tomcat | Default embedded server in Spring Boot. |
| Jetty | Lightweight Java web server. |
| Undertow | High-performance non-blocking server. |
How Embedded Server Works Internally
When the Spring Boot application starts:
- Spring Boot initializes the application context.
- Embedded server dependencies are loaded.
- Tomcat or another server starts internally.
- DispatcherServlet is registered.
- REST endpoints become available.
Everything happens automatically during application startup.
Embedded Tomcat Example
The dependency:
spring-boot-starter-web
internally includes:
tomcat-embed-core
tomcat-embed-websocket
tomcat-embed-el
These dependencies provide the Embedded Tomcat Server.
Application Startup Example
@SpringBootApplication
public class DhanishEmpowerApplication {
public static void main(String[] args) {
SpringApplication.run(
DhanishEmpowerApplication.class,
args
);
}
}
When this application starts:
- Embedded Tomcat starts automatically
- Application deploys automatically
- REST APIs become available
Default Port of Embedded Server
By default, Spring Boot runs on:
http://localhost:8080
We can change the port using:
server.port=9090
WAR Deployment vs Embedded Server
| Traditional Spring | Spring Boot |
|---|---|
| Requires external server | Uses embedded server |
| Deploy WAR manually | Run executable JAR |
| Complex deployment | Simple deployment |
| Server installation needed | No server installation required |
| More configuration | Less configuration |
Advantages of Embedded Server
- No need to install external server
- Simplifies deployment
- Easy for microservices architecture
- Application becomes portable
- Supports executable JAR deployment
- Faster development and testing
- Easy Docker deployment
- Reduces environment issues
Embedded Server in Microservices
Embedded Servers are very useful in microservices architecture.
Example:
- User Service → Port 8081
- Payment Service → Port 8082
- Course Service → Port 8083
Each Spring Boot microservice runs its own embedded server independently.
Embedded Server and Docker
Embedded Servers simplify Docker deployment because:
- Application and server are packaged together
- No external Tomcat installation needed
- Single JAR deployment becomes possible
Example Docker command:
java -jar app.jar
Changing Embedded Server
We can replace Tomcat with Jetty or Undertow.
Exclude Tomcat
org.springframework.boot
spring-boot-starter-tomcat
Add Jetty
org.springframework.boot
spring-boot-starter-jetty
Production-Level Importance
Embedded Servers are highly important in production environments because:
- They simplify cloud deployment
- Support containerization
- Improve deployment automation
- Reduce server dependency issues
- Enable fast microservice deployment
Modern enterprise applications widely use embedded servers.
Interview Answer
Embedded Server in Spring Boot is a built-in web server such as Tomcat, Jetty, or Undertow that runs inside the application.
It eliminates the need for external server installation and simplifies deployment by allowing applications to run as executable JAR files.
Short Interview Answer
Embedded Server is a built-in server inside Spring Boot applications that allows applications to run independently without external server deployment.
Frequently Asked Questions
Which server is default in Spring Boot?
Embedded Tomcat is the default server.
Can we change the embedded server?
Yes, we can replace Tomcat with Jetty or Undertow.
What is the default port?
The default port is 8080.
Why are Embedded Servers useful?
They simplify deployment and reduce server management complexity.
Can Embedded Servers be used in microservices?
Yes, they are widely used in microservices architecture.
Conclusion
Embedded Server is one of the most powerful features of Spring Boot. It simplifies deployment by packaging the server and application together.
It helps developers build portable, production-ready, and microservice-based applications quickly with minimal configuration.