Skip to content

Spring Boot Notes

Spring Boot makes it easy to create stand-alone, production-grade Spring-based applications.

Quick Start

bash
# Create a new Spring Boot project
curl https://start.spring.io/starter.zip -d type=maven-project \
  -d language=java -d bootVersion=3.4.0 \
  -d groupId=com.example -d artifactId=demo \
  -o demo.zip

Project Structure

md
src/
├── main/
│   ├── java/com/example/demo/
│   │   ├── DemoApplication.java
│   │   ├── controller/
│   │   └── service/
│   └── resources/
│       └── application.yml
└── test/

Common Annotations

AnnotationPurpose
@SpringBootApplicationEntry point of a Spring Boot app
@RestControllerRESTful controller
@RequestMappingMap web requests
@AutowiredDependency injection
@ServiceService layer component
@RepositoryData access layer component

REST Example

java
@RestController
@RequestMapping("/api/todos")
public class TodoController {

    @GetMapping
    public List<Todo> getAll() {
        return todoService.findAll();
    }

    @PostMapping
    public Todo create(@RequestBody Todo todo) {
        return todoService.save(todo);
    }
}