Table of Contents

Spring Boot Intro

Spring Boot is an open-source, Java-based framework designed to simplify the creation of standalone, production-ready applications. Built directly on top of the original Spring Framework, it eliminates the extensive boilerplate code and heavy XML configurations that historically made Spring applications complex to set up.

Set Up

Prerequisite

After those are installed, press Cmd + Shift + P and search Spring Initializr: Create a Maven Project, follow the step:

Language: Java
Spring Boot version: latest stable
Group Id: com.example
Artifact Id: store
Packaging: Jar
Java version: 17 or 21

You can give it a different name under Artifact Id .

For dependencies, choose:

Spring Web
Spring Boot DevTools

Then select a folder to save the project.

Project Structure

After setup, structures are as follows:

store/
├── mvnw
├── mvnw.cmd
├── pom.xml
├── src/
│   ├── main/
│   │   ├── java/
│   │   │   └── com/
│   │   │       └── example/
│   │   │           └── store/
│   │   │               ├── StoreApplication.java
│   │   │               ├── controller/
│   │   │               │   └── HelloController.java
│   │   │               ├── service/
│   │   │               │   └── UserService.java
│   │   │               ├── repository/
│   │   │               │   └── UserRepository.java
│   │   │               └── model/
│   │   │                   └── User.java
│   │   └── resources/
│   │       ├── application.properties
│   │       ├── static/
│   │       └── templates/
│   └── test/
│       └── java/
│           └── com/
│               └── example/
│                   └── store/
│                       └── StoreApplicationTests.java

And compare with Django:

Spring Boot                    Django / DRF idea

pom.xml                        requirements.txt + settings dependencies
StoreApplication.java           manage.py / project entry point

controller/                    views.py / API routes
service/                       business logic layer
repository/                    Django ORM manager / database access
model/                         models.py
resources/templates/           Django templates/
resources/static/              static files: CSS, JS, images
application.properties         settings.py / .env config