Spring Framework (Spring Boot)
(Spring Boot & MySQL)
Technologies
Used:
- Spring
Boot – A simplified way to create Java web
applications.
- Spring
MVC – A framework for building web applications
using the Model-View-Controller (MVC) pattern.
- Spring
Security – Adds authentication and authorization.
- Spring
Data JPA – Simplifies database interactions.
- Thymeleaf
/ JSP – Used for rendering UI.
Example
Use Case:
- E-commerce
websites
- Online
ticket booking systems
Pros:
✔ Simplifies web development with built-in
configurations.
✔ Supports microservices, RESTful APIs, and cloud
integration.
✔ Highly scalable and widely adopted.
Cons:
✖ Can be complex for beginners.
🔷 Step-by-Step Guide: Employee Management System Using Java (Spring Boot & MySQL)
1️⃣ Project Setup
✅ Install Required Tools
- JDK 17 or later – Java Development Kit
- Spring Boot – Backend framework
- MySQL – Database
- Maven – Dependency management
- Postman – API testing tool (Optional)
- IDE (IntelliJ IDEA, VS Code, Eclipse, or STS)
✅ Create a New Spring Boot Project
Use Spring Initializr (https://start.spring.io/) and select:
- Spring Boot Version: Latest stable release
- Dependencies:
- Spring Web (for REST API)
- Spring Data JPA (for database interactions)
- MySQL Driver (for MySQL connectivity)
- Lombok (to reduce boilerplate code)
- Thymeleaf (if using JSP/HTML frontend)
Download the project and import it into your IDE.
🔹 What is JDK 17 or Later?
JDK (Java Development Kit) is a software development kit required to write, compile, and run Java applications. JDK 17 is a Long-Term Support (LTS) version of Java, meaning it will receive updates and support for an extended period.
🔹 Why Use JDK 17?
- Performance Improvements: Faster startup and execution.
- Security Updates: More secure than older versions.
- Modern Features: Includes new Java features like records, pattern matching, and sealed classes.
- LTS Support: JDK 17 is a Long-Term Support (LTS) version, meaning it's stable and recommended for enterprise applications.
🔹 How to Install JDK 17
1️⃣ Download & Install JDK 17
- Go to the Oracle JDK Download Page.
- Download the JDK 17 version for your operating system (Windows, macOS, or Linux).
- Install it by following the instructions.
Alternatively, you can install OpenJDK 17, which is a free, open-source version:
- On Windows (using Chocolatey):
choco install openjdk17
- On Ubuntu (using APT):
sudo apt update
sudo apt install openjdk-17-jdk
- On macOS (using Homebrew):
brew install openjdk@17
2️⃣ Verify Installation
After installation, check if JDK 17 is installed correctly by running:
java -version
Expected output:
java version "17.0.1" 2021-09-14 LTS
Java(TM) SE Runtime Environment (build 17.0.1+12-LTS-39)
Java HotSpot(TM) 64-Bit Server VM (build 17.0.1+12-LTS-39, mixed mode)
3️⃣ Set Up JAVA_HOME (Environment Variable)
Some tools (like Maven and Spring Boot) need JAVA_HOME to be set.
Windows
- Open Command Prompt and run:
echo %JAVA_HOME%
- If it's empty, set it manually:
- Go to System Properties → Advanced → Environment Variables.
- Click New under System Variables and add:
Variable Name: JAVA_HOME
Variable Value: C:\Program Files\Java\jdk-17
- Restart the terminal and run:
echo %JAVA_HOME%
Expected output: C:\Program Files\Java\jdk-17
Linux / macOS
- Open the terminal and add this to ~/.bashrc or ~/.zshrc:
export JAVA_HOME=/usr/lib/jvm/java-17-openjdk
export PATH=$JAVA_HOME/bin:$PATH
- Apply changes:
source ~/.bashrc
- Verify:
echo $JAVA_HOME
🔹 How JDK 17 is Used in Our Project
1. Compile & Run Java Code
o JDK 17 is required to compile our Employee Management System.
o When you run mvn spring-boot:run, it uses JDK 17.
2. Spring Boot Compatibility
o Spring Boot 3 requires Java 17 or later.
o Using Java 8 or 11 will not work for the latest Spring Boot versions.
3. Building JAR Files
o When you run mvn package, JDK 17 compiles the project and generates an executable JAR file.
🎯 Conclusion
- JDK 17 is mandatory for running modern Spring Boot applications.
- It provides better performance, security, and long-term support.
- You must install JDK 17 and set up JAVA_HOME for Maven and Spring Boot to work properly.
🔹 What is Spring Boot?
Spring Boot is a powerful backend framework for building Java-based web applications and RESTful APIs. It is an extension of the Spring Framework that simplifies the development process by reducing boilerplate code and configuration effort.
✅ Key Features of Spring Boot:
- Auto Configuration – Automatically configures necessary components.
- Embedded Servers – Comes with Tomcat, Jetty, and Undertow, so no external deployment is needed.
- Spring Boot Starter Packs – Pre-configured dependencies to speed up development.
- Production-Ready – Built-in monitoring, logging, and security features.
- Microservices Ready – Perfect for developing scalable enterprise applications.
🔹 Why Use Spring Boot for Web Development?
1. Rapid Development – No need for complex XML configurations.
2. Enterprise-Grade – Used in large-scale, high-performance applications.
3. REST API Support – Easily create APIs for web and mobile apps.
4. Integration with Databases – Supports MySQL, PostgreSQL, MongoDB, and more.
5. Secure – Built-in support for authentication and authorization (Spring Security).
🔹 How Spring Boot is Used in Our Employee Management System
In the Employee Management System, Spring Boot will handle the backend logic:
- Expose REST APIs to perform CRUD operations (Create, Read, Update, Delete).
- Connect to a MySQL database to store employee data.
- Use Spring MVC for handling web requests.
- Use JPA (Java Persistence API) for database operations.
✅ Technologies Used
Technology | Purpose |
Spring Boot | Backend framework |
Spring MVC | Handles HTTP requests |
Spring Data JPA | Database interaction |
Hibernate | ORM (Object Relational Mapping) |
MySQL | Database storage |
Spring Security | Authentication & Authorization |
🔹 How to Set Up a Spring Boot Project (Step by Step)
1️⃣ Create a Spring Boot Project using Spring Initializr
- Go to Spring Initializr
- Select:
- Project: Maven
- Language: Java
- Spring Boot Version: 3.1+ (Requires JDK 17+)
- Dependencies:
- Spring Web – To create REST APIs
- Spring Data JPA – To interact with MySQL
- MySQL Driver – To connect to MySQL database
- Spring Boot DevTools – For auto-reloading during development
- Click Generate and download the project.
2️⃣ Open the Project in an IDE
- Extract the downloaded ZIP file.
- Open it in IntelliJ IDEA, Eclipse, or VS Code.
- Run:
mvn clean install
3️⃣ Configure the Database (application.properties)
Modify src/main/resources/application.properties:
spring.datasource.url=jdbc:mysql://localhost:3306/employee_db
spring.datasource.username=root
spring.datasource.password=yourpassword
spring.jpa.hibernate.ddl-auto=update
spring.jpa.properties.hibernate.dialect=org.hibernate.dialect.MySQL8Dialect
server.port=8080
📌 Make sure MySQL is running and replace yourpassword with your actual MySQL password.
4️⃣ Create the Employee Model (JPA Entity)
Create a new Java class inside com.example.model:
package com.example.model;
import jakarta.persistence.*;
@Entity
@Table(name = "employees")
public class Employee {
@Id
@GeneratedValue(strategy = GenerationType.IDENTITY)
private Long id;
private String name;
private String department;
private double salary;
// Getters and Setters
}
5️⃣ Create the Repository Layer
Create EmployeeRepository.java inside com.example.repository:
package com.example.repository;
import com.example.model.Employee;
import org.springframework.data.jpa.repository.JpaRepository;
public interface EmployeeRepository extends JpaRepository<Employee, Long> {
}
✅ Spring Data JPA provides built-in database methods like findAll(), save(), deleteById(), etc.
6️⃣ Create the Service Layer
Create EmployeeService.java inside com.example.service:
package com.example.service;
import com.example.model.Employee;
import com.example.repository.EmployeeRepository;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
import java.util.List;
@Service
public class EmployeeService {
@Autowired
private EmployeeRepository repository;
public List<Employee> getAllEmployees() {
return repository.findAll();
}
public Employee saveEmployee(Employee employee) {
return repository.save(employee);
}
public void deleteEmployee(Long id) {
repository.deleteById(id);
}
}
7️⃣ Create the Controller Layer
Create EmployeeController.java inside com.example.controller:
package com.example.controller;
import com.example.model.Employee;
import com.example.service.EmployeeService;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.web.bind.annotation.*;
import java.util.List;
@RestController
@RequestMapping("/employees")
public class EmployeeController {
@Autowired
private EmployeeService employeeService;
@GetMapping
public List<Employee> getAllEmployees() {
return employeeService.getAllEmployees();
}
@PostMapping
public Employee createEmployee(@RequestBody Employee employee) {
return employeeService.saveEmployee(employee);
}
@DeleteMapping("/{id}")
public void deleteEmployee(@PathVariable Long id) {
employeeService.deleteEmployee(id);
}
}
✅ This provides a REST API for managing employees.
8️⃣ Run the Spring Boot Application
Run the main class EmployeeManagementApplication.java:
package com.example;
import org.springframework.boot.SpringApplication;
import org.springframework.boot.autoconfigure.SpringBootApplication;
@SpringBootApplication
public class EmployeeManagementApplication {
public static void main(String[] args) {
SpringApplication.run(EmployeeManagementApplication.class, args);
}
}
Now, start the project using:
mvn spring-boot:run
✅ Your application will run on http://localhost:8080/employees.
🔹 Testing the APIs
Use Postman or cURL to test the APIs.
1️⃣ Get All Employees
curl -X GET http://localhost:8080/employees
2️⃣ Create a New Employee
curl -X POST http://localhost:8080/employees -H "Content-Type: application/json" -d '{
"name": "John Doe",
"department": "IT",
"salary": 50000
}'
3️⃣ Delete an Employee
curl -X DELETE http://localhost:8080/employees/1
🎯 Conclusion
🔹 Spring Boot makes Java web development easier by handling backend logic, database connectivity, and REST APIs.
🔹 In the Employee Management System, Spring Boot provides a scalable and maintainable architecture.
🔹 We used Spring Data JPA, MySQL, and Spring Web to build the backend.
🔹 What is MySQL?
MySQL is a popular relational database management system (RDBMS) used for storing and managing structured data. It is open-source, fast, and reliable, making it ideal for web applications and enterprise systems.
✅ Key Features of MySQL
- Scalability – Handles large datasets efficiently.
- ACID Compliance – Ensures data integrity and transaction safety.
- High Performance – Optimized for speed and efficiency.
- Cross-Platform – Works on Windows, macOS, and Linux.
- Secure – Provides user authentication and access control.
🔹 Why Use MySQL in Employee Management System?
In the Employee Management System, MySQL is used to:
- Store employee data (name, department, salary, etc.).
- Handle CRUD operations (Create, Read, Update, Delete).
- Work with Spring Boot and JPA for seamless database integration.
🔹 Setting Up MySQL for Spring Boot Project
1️⃣ Install MySQL
- Download from MySQL Official Website
- Install MySQL Server and MySQL Workbench (optional for GUI management).
- Start the MySQL service.
2️⃣ Create a New Database
Run the following SQL command in MySQL Workbench or the command line:
CREATE DATABASE employee_db;
📌 Ensure MySQL is running on port 3306 (default).
3️⃣ Configure MySQL in Spring Boot
Edit src/main/resources/application.properties:
spring.datasource.url=jdbc:mysql://localhost:3306/employee_db
spring.datasource.username=root
spring.datasource.password=yourpassword
spring.jpa.hibernate.ddl-auto=update
spring.jpa.properties.hibernate.dialect=org.hibernate.dialect.MySQL8Dialect
📌 Replace yourpassword with your actual MySQL password.
4️⃣ Create Employee Table (Automatically Handled by JPA)
Spring Boot auto-generates tables based on the Employee entity:
@Entity
@Table(name = "employees")
public class Employee {
@Id
@GeneratedValue(strategy = GenerationType.IDENTITY)
private Long id;
private String name;
private String department;
private double salary;
}
📌 No need to manually create tables if spring.jpa.hibernate.ddl-auto=update is set.
5️⃣ Verify MySQL Connection
Run the project:
mvn spring-boot:run
Check in MySQL Workbench:
SELECT * FROM employees;
✅ Employee records should be visible in the database!
🎯 Conclusion
- MySQL stores and manages structured employee data.
- It integrates seamlessly with Spring Boot using Spring Data JPA.
- CRUD operations in Spring Boot directly interact with MySQL.
🔹 What is Maven?
Apache Maven is a build automation and dependency management tool for Java projects. It helps developers manage project builds, dependencies, and plugins efficiently.
✅ Key Features of Maven
- Dependency Management – Automatically downloads required libraries from a central repository.
- Build Automation – Simplifies compiling, packaging, and deploying Java applications.
- Project Structure Standardization – Uses a convention-over-configuration approach.
- Plugins & Extensions – Supports additional tools for testing, documentation, and deployment.
🔹 Why Use Maven in Employee Management System?
In the Employee Management System, Maven helps to:
- Manage dependencies like Spring Boot, MySQL Connector, and JPA.
- Automate the build process (compile, test, package, and run the project).
- Ensure project portability and consistency across different environments.
🔹 How to Use Maven in the Project?
1️⃣ Install Maven (If Not Installed)
- Windows: Download from Maven Official Website and add it to the system PATH.
- Linux/macOS: Install via package manager:
sudo apt install maven # Ubuntu/Debian
brew install maven # macOS
- Verify installation:
mvn -version
2️⃣ Create a Spring Boot Project with Maven
Use Spring Initializr (recommended) to generate a Maven-based project:
- Go to Spring Initializr
- Select:
- Project: Maven
- Language: Java
- Spring Boot Version: Latest stable
- Dependencies: Spring Web, Spring Data JPA, MySQL Driver
- Click Generate and extract the ZIP file.
3️⃣ Understanding the pom.xml File (Maven Configuration)
The pom.xml file defines:
- Project metadata (name, version, description).
- Dependencies (external libraries like Spring Boot, MySQL).
- Plugins (for build and testing).
Example pom.xml
<project xmlns="http://maven.apache.org/POM/4.0.0"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://maven.apache.org/POM/4.0.0
http://maven.apache.org/xsd/maven-4.0.0.xsd">
<modelVersion>4.0.0</modelVersion>
<groupId>com.example</groupId>
<artifactId>employee-management</artifactId>
<version>1.0.0</version>
<packaging>jar</packaging>
<dependencies>
<!-- Spring Boot Starter for Web -->
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-web</artifactId>
</dependency>
<!-- Spring Boot Starter for JPA (Database ORM) -->
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-data-jpa</artifactId>
</dependency>
<!-- MySQL Database Connector -->
<dependency>
<groupId>mysql</groupId>
<artifactId>mysql-connector-java</artifactId>
</dependency>
<!-- Spring Boot Testing -->
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-test</artifactId>
<scope>test</scope>
</dependency>
</dependencies>
<build>
<plugins>
<!-- Maven Compiler Plugin -->
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-compiler-plugin</artifactId>
<version>3.8.1</version>
<configuration>
<source>17</source>
<target>17</target>
</configuration>
</plugin>
</plugins>
</build>
</project>
📌 Key Sections in pom.xml:
- <dependencies> – Defines libraries needed for the project.
- <build> – Specifies compilation and plugins.
- <version> – Defines the Java version compatibility.
4️⃣ Running the Project Using Maven
Once dependencies are configured:
- Compile the project:
mvn clean compile
- Run the Spring Boot Application:
mvn spring-boot:run
- Package into a JAR file:
mvn clean package
- Run the JAR file:
java -jar target/employee-management-1.0.0.jar
🎯 Conclusion
- Maven simplifies dependency management and builds in Java projects.
- It automates compiling, testing, and packaging.
- Spring Boot projects use Maven to fetch required libraries effortlessly.
🔹 What is Postman?
Postman is a powerful API testing tool that helps developers build, test, and document APIs efficiently. It provides an easy-to-use interface to send requests to APIs and inspect responses.
🔹 Why Use Postman in Employee Management System?
When developing a Spring Boot-based Employee Management System, the backend exposes REST APIs for operations like:
- Adding an employee (POST /employees)
- Fetching employees (GET /employees)
- Updating employee details (PUT /employees/{id})
- Deleting an employee (DELETE /employees/{id})
Postman helps by: ✅ Testing APIs without writing a frontend.
✅ Validating request and response formats.
✅ Debugging backend issues faster.
🔹 How to Use Postman for API Testing?
1️⃣ Install Postman
- Download from Postman Official Website
- Install it on Windows, macOS, or Linux.
2️⃣ Test APIs in Postman
Once your Spring Boot application is running (mvn spring-boot:run), test the APIs:
🔹 Example: Testing Employee Management APIs
1️⃣ Test POST /employees (Create an Employee)
- Open Postman.
- Select POST.
- Enter URL: http://localhost:8080/employees
- Go to Body → Select raw → Choose JSON.
- Enter the request body:
{
"name": "John Doe",
"email": "john.doe@example.com",
"position": "Software Engineer"
}
- Click Send.
- If successful, it returns a 201 Created response.
2️⃣ Test GET /employees (Fetch Employees)
- Select GET.
- Enter URL: http://localhost:8080/employees
- Click Send.
- It returns a list of employees.
3️⃣ Test PUT /employees/{id} (Update Employee)
- Select PUT.
- Enter URL: http://localhost:8080/employees/1
- Go to Body → Select raw → Choose JSON.
- Enter:
{
"name": "John Doe",
"email": "john.doe@company.com",
"position": "Senior Developer"
}
- Click Send.
4️⃣ Test DELETE /employees/{id} (Delete Employee)
- Select DELETE.
- Enter URL: http://localhost:8080/employees/1
- Click Send.
🎯 Conclusion
- Postman simplifies API testing in your Employee Management System.
- It helps validate API requests and responses without needing a frontend.
- You can save requests for future testing and debugging.
🔹 What is an IDE?
An IDE (Integrated Development Environment) is a software application that provides a complete environment for coding, debugging, and managing software projects. It includes:
✅ A code editor (for writing code)
✅ A compiler/interpreter (for running code)
✅ Debugging tools (to find and fix errors)
✅ Version control support (e.g., Git)
🔹 Popular IDEs for Java Development
When developing a Spring Boot Employee Management System, you can use any of the following IDEs:
1️⃣ IntelliJ IDEA (Recommended for Spring Boot)
✔Developed by: JetBrains
✔ Best for: Java & Spring Boot development
✔ Features:
- Smart code suggestions
- Built-in Spring Boot support
- Advanced debugging tools
- Integrated Maven and Gradle
✔ Download: IntelliJ IDEA
2️⃣ Eclipse (Popular for Java)
✔ Developed by: Eclipse Foundation
✔ Best for: General Java development
✔ Features:
- Open-source and free
- Supports Java EE, Spring, and Maven
- Customizable with plugins
✔ Download: Eclipse
3️⃣ Spring Tool Suite (STS)
✔ Developed by: VMware
✔ Best for: Spring Boot development
✔ Features:
- Preconfigured for Spring Boot
- Built-in support for Spring projects
- Integrated Maven support
✔ Download: Spring Tool Suite (STS)
4️⃣ Visual Studio Code (VS Code)
✔ Developed by: Microsoft
✔ Best for: Lightweight Java development
✔ Features:
- Fast and lightweight
- Requires Java extensions (e.g., "Extension Pack for Java")
- Supports Java, Node.js, and more
✔ Download: VS Code
🔹 Which IDE Should You Choose?
- For beginners → STS or Eclipse (simple setup, Spring support).
- For professional Java development → IntelliJ IDEA (best for large projects).
- For lightweight development → VS Code (requires extensions).
🎯 Conclusion
An IDE helps you write, debug, and manage your Java code efficiently. If you’re developing a Spring Boot-based Employee Management System, I recommend using IntelliJ IDEA or STS for the best experience.
How to Use IntelliJ IDEA (Community Edition) for Spring Boot Development 🚀
Since you're developing an Employee Management System using Spring Boot, JSP, and MySQL, IntelliJ IDEA is a great choice. Here’s a step-by-step guide to setting up and running your Spring Boot project.
🔹 Step 1: Download and Install IntelliJ IDEA
1️⃣ Download IntelliJ IDEA (Community Edition)
- Go to IntelliJ IDEA Download Page
- Download Community Edition (FREE)
2️⃣ Install IntelliJ IDEA
- Run the installer and follow the setup instructions
- During installation, select:
- ✅ Java Development
- ✅ Maven & Gradle (for dependency management)
- ✅ Spring Boot Plugin (optional, but useful)
🔹 Step 2: Install Java Development Kit (JDK 21)
Since your Java version is 21.0.1 (LTS), you don't need to install a new JDK.
If you haven't installed Java, download it from:
🔗 JDK 21 Download
🔹 Step 3: Create a New Spring Boot Project in IntelliJ IDEA
Method 1: Using Spring Initializr (Recommended)
1️⃣ Open IntelliJ IDEA
2️⃣ Click on "New Project"
3️⃣ Select Spring Initializr
4️⃣ Configure project settings:
- Project SDK: Select Java 21
- Language: Java
- Spring Boot Version: Choose latest stable (e.g., 3.x.x)
- Project Name: employee-management
- Group ID: com.example
- Artifact ID: employee-management
5️⃣ Click Next and add dependencies:
- ✅ Spring Web (for REST APIs & Controllers)
- ✅ Spring Data JPA (for database interaction)
- ✅ MySQL Driver (for database connection)
- ✅ Spring Boot Dev Tools(Provide Live reload for first development.
- ✅ Lombok (to reduce boilerplate code)
- ✅ Tomcat Embed Jasper (to support JSP)
- ✅ JSTL (for JSP tag library)
6️⃣ Click Finish → IntelliJ IDEA will download and set up your project 🚀
Method 2: Import an Existing Spring Boot Project
If you created your project using Spring Initializr online (start.spring.io):
1️⃣ Open IntelliJ IDEA
2️⃣ Click Open Project
3️⃣ Select your project folder (employee-management)
4️⃣ IntelliJ will detect pom.xml and ask to import dependencies → Click Import
5️⃣ Wait for dependencies to load and start coding! ✅
🔹 Step 4: Configure MySQL Database in application.properties
1️⃣ Open src/main/resources/application.properties
2️⃣ Add your MySQL database connection details:
spring.datasource.url=jdbc:mysql://localhost:3306/employee_db
spring.datasource.username=root
spring.datasource.password=yourpassword
spring.datasource.driver-class-name=com.mysql.cj.jdbc.Driver
# JPA settings
spring.jpa.database-platform=org.hibernate.dialect.MySQL8Dialect
spring.jpa.hibernate.ddl-auto=update
spring.jpa.show-sql=true
📌 Note: Replace yourpassword with your actual MySQL password.
🔹 Step 5: Run the Spring Boot Application
1️⃣ Open EmployeeManagementApplication.java (inside src/main/java/com/example/employee-management/)
2️⃣ Click Run ▶ or use Shift + F10
3️⃣ If successful, you’ll see:
Tomcat started on port 8080
Application started successfully!
🚀 Now, your Spring Boot project is running at:
🔗 http://localhost:8080
🔹 Step 6: Create Employee Entity & Repository
Create an Entity Class: Employee.java
📂 src/main/java/com/example/employee-management/model/Employee.java
package com.example.employee_management.model;
import jakarta.persistence.*;
import lombok.Data;
@Entity
@Data
@Table(name = "employees")
public class Employee {
@Id
@GeneratedValue(strategy = GenerationType.IDENTITY)
private Long id;
@Column(nullable = false)
private String name;
@Column(nullable = false, unique = true)
private String email;
@Column(nullable = false)
private String department;
}
Create Repository Interface: EmployeeRepository.java
📂 src/main/java/com/example/employee-management/repository/EmployeeRepository.java
package com.example.employee_management.repository;
import org.springframework.data.jpa.repository.JpaRepository;
import com.example.employee_management.model.Employee;
public interface EmployeeRepository extends JpaRepository<Employee, Long> {
}
🔹 Step 7: Create Controller and JSP View
Create Controller: EmployeeController.java
📂 src/main/java/com/example/employee-management/controller/EmployeeController.java
package com.example.employee_management.controller;
import org.springframework.stereotype.Controller;
import org.springframework.ui.Model;
import org.springframework.web.bind.annotation.GetMapping;
import com.example.employee_management.repository.EmployeeRepository;
@Controller
public class EmployeeController {
private final EmployeeRepository employeeRepository;
public EmployeeController(EmployeeRepository employeeRepository) {
this.employeeRepository = employeeRepository;
}
@GetMapping("/employees")
public String listEmployees(Model model) {
model.addAttribute("employees", employeeRepository.findAll());
return "employees";
}
}
Create JSP File for Display: employees.jsp
📂 src/main/webapp/WEB-INF/views/employees.jsp
<%@ page contentType="text/html;charset=UTF-8" language="java" %>
<html>
<head>
<title>Employee List</title>
</head>
<body>
<h2>Employee List</h2>
<table border="1">
<tr>
<th>ID</th>
<th>Name</th>
<th>Email</th>
<th>Department</th>
</tr>
<c:forEach var="employee" items="${employees}">
<tr>
<td>${employee.id}</td>
<td>${employee.name}</td>
<td>${employee.email}</td>
<td>${employee.department}</td>
</tr>
</c:forEach>
</table>
</body>
</html>
🔹 Step 8: Restart and Test the Application
1️⃣ Run the Application (Shift + F10)
2️⃣ Go to Browser:
- 📌 http://localhost:8080/employees → Shows Employee List
🎯 Summary: What We Did
✅ Installed IntelliJ IDEA (Community Edition)
✅ Created a Spring Boot Project with JSP & MySQL
✅ Configured MySQL Database
✅ Created Employee Entity & Repository
✅ Created Employee Controller & JSP View
✅ Successfully Ran the Application 🚀