Command Palette

Search for a command to run...

Bài viết trong series "Spring Boot Basics"

24 bài viết

[Spring Boot Basics] Kiến thức Java cần có trước khi học Spring Boot: OOP, Generics, Stream, Record và Annotation

Những gì bạn cần nắm về Java trước khi vào Spring Boot 4.1.1 trên Java 21: interface và polymorphism, List/Set/Map, generics và type erasure, lambda và Stream, Optional, record làm DTO, và phần quan trọng nhất — tự viết annotation rồi đọc lại bằng reflection, đúng cách @Component và @GetMapping hoạt động.

[Spring Boot Basics] Spring Framework và Spring Boot khác nhau thế nào: Auto-Configuration, Starter và Embedded Server

Spring Framework 7.0.9 so với Spring Boot 4.1.1 trên Java 21: một web application Spring thuần bắt bạn viết những gì, starter và BOM spring-boot-dependencies thay thế chúng ra sao, vì sao Boot 4 đổi tên web starter thành spring-boot-starter-webmvc, auto-configuration nhường chỗ thế nào, embedded Tomcat so với WAR, và bản đồ hệ sinh thái Spring.

[Spring Boot Basics] Cài đặt Spring Boot: JDK, IDE, Spring Initializr và ứng dụng đầu tiên

Cài JDK 21 trên macOS, Windows và Linux, sửa JAVA_HOME trỏ nhầm JDK, so sánh IntelliJ IDEA với VS Code, tạo project Spring Boot 4.1.1 bằng Spring Initializr hoặc một câu lệnh curl, chạy bằng Gradle wrapper, đọc log khởi động từng dòng, viết @RestController trả về JSON, đổi server.port và xử lý năm lỗi mà người mới nào cũng gặp.

[Spring Boot Basics] Cấu trúc project Spring Boot: Gradle và Maven, @SpringBootApplication và file JAR

Toàn bộ file mà Spring Initializr sinh ra trên Spring Boot 4.1.1 và Java 21: cấu trúc thư mục, wrapper của Gradle và Maven, build.gradle đọc từng dòng đặt cạnh pom.xml tương ứng, so sánh Maven và Gradle công bằng, BOM giúp bỏ version number, @SpringBootApplication tách thành ba meta-annotation kèm lỗi 404 do sai base package, và giải phẫu file JAR chạy được.

[Spring Boot Basics] IoC và Dependency Injection trong Spring: vì sao không còn tự new object

Ý tưởng mà cả framework dựa lên, demo bằng code chạy thật trên Spring Boot 4.1.1 và Java 21: một object graph bốn class tự new ở mọi tầng cùng ba hậu quả kéo theo, phân biệt rạch ròi Inversion of Control với Dependency Injection, nối tay cùng graph đó trong main mà không có framework nào, rồi để Spring container nối và in identity của từng instance ra để chứng minh, kèm một test JUnit 5 với stub tự viết, một lần đổi implementation mà không đụng vào class đang dùng nó, và danh sách thành thật những cái giá phải trả.

[Spring Boot Basics] Bean và ApplicationContext trong Spring: @Component, stereotype và component scanning

Bean trong Spring thực chất là gì và object nào không bao giờ nên là bean, chứng minh @Component là meta-annotation nằm dưới @Service, @Repository và @Controller, mỗi stereotype thật sự thêm gì lúc runtime, component scanning biến file .class thành BeanDefinition ra sao, quy tắc đặt tên bean kể cả trường hợp hai chữ hoa, API của ApplicationContext cùng số bean thật của một app Spring Boot 4.1.1, và ba kiểu đăng ký bean thất bại kèm thông báo lỗi thật.