Spring Boot 123
A technical blog covering Spring Boot from the basics to implementation, operations, and design — in plain English.
Latest Articles
-
How to Test File Upload APIs Using MockMvc in Spring Boot - Testing Error Cases for Size Limits and MIME Validation with MockMultipartFile
-
How to Unit Test Mappers in Spring Boot + MyBatis - Why @MybatisTest Doesn't Exist and Alternative Configurations with H2/Testcontainers
-
How to Test File Download APIs with MockMvc in Spring Boot - Verifying Content-Disposition and Binary Responses
-
How to Implement a Second-Level Cache with @CacheNamespace in Spring Boot + MyBatis - cache Tag and Redis Integration
-
How to Load Test Data in Spring Boot Tests Using the @Sql Annotation
-
How to Use @NamedEntityGraph in Spring Data JPA - Reusable Fetch Definitions and Choosing Between EntityGraph.Type
Browse by Topic
Follow a structured path and read articles in order.
Start Here
The quickest path to understanding Spring Boot's big picture and fundamentals.
Spring Core Concepts
Build a solid foundation in DI, Beans, and other concepts that directly inform design decisions.
- What Is DI (Dependency Injection) in Spring Boot? Mechanism, Syntax, and Benefits Explained [For Beginners]
- What Is @Component in Spring Boot? Differences from @Bean and How to Use It
- What is @Configuration / @Bean in Spring Boot? Explaining the Difference from @Component and How to Use Them
- What is Spring AOP? Explaining the Mechanism and Usage with Sample Code
Web / API Development
Learn REST API design, exception handling, authentication, and input validation all in one place.
- How to Implement Pagination in Spring Boot REST API - Using Pageable and Page
- How to Return Unified Error Responses in Spring Boot REST APIs - Using @ControllerAdvice and @ExceptionHandler (with @RestControllerAdvice / ResponseEntityExceptionHandler)
- How to Implement Validation Simply with the Spring Boot @Valid Annotation - Usage and Error Handling
- Getting Started with Authentication in Spring Boot using Spring Security - From Basic Authentication to Form Authentication
Data Access & Operations
Connect the dots from JPA and transactions to configuration management and monitoring.
- Introduction to JPA Association Mapping in Spring Boot - How to Use @OneToMany/@ManyToOne/@ManyToMany and mappedBy
- Spring Data JPA Query Methods: A Complete Naming Convention Cheat Sheet
- Understanding Transaction Management with @Transactional in Spring Boot - Choosing Propagation and Isolation Levels
- Managing Configuration in Spring Boot with application.properties/yml - Choosing Between @Value and @ConfigurationProperties
Browse by Tag
Explore related topics across articles.
View all tagsMore Articles
-
HikariCP Pool Sizing for Multiple DataSources in Spring Boot
-
How to Resolve Multiple Beans of the Same Type in Spring Boot - Using @Qualifier and @Primary and Name Resolution Priority
-
How to Test @RestControllerAdvice Exception Handlers Using MockMvc in Spring Boot - Verifying Status Codes and ProblemDetail
-
Spring Boot + MyBatis Polymorphic Mapping with discriminator - resultMap Implementation to Branch a Single Table by Type
-
How to Implement Optimistic Locking in Spring Boot + MyBatis
-
When Should You Use BeanNameAware and ApplicationContextAware in Spring Boot?
-
How to Detect and Debug HikariCP Connection Leaks in Spring Boot - leakDetectionThreshold and Thread Dump Analysis
-
How to Introduce baselineOnMigrate for an Existing Database with Spring Boot + Flyway - Initializing baselineVersion and flyway_schema_history
-
Spring Boot + MyBatis: How to Build Dynamic SQL with Java Code Only Using SqlProvider
-
How to Monitor HikariCP Connection Pool with Micrometer and Actuator in Spring Boot
-
Spring Boot @SpringBootTest webEnvironment Guide - Choosing Between MOCK, RANDOM_PORT, DEFINED_PORT, and NONE
-
How to Split and Externalize Configuration Files with Spring Boot's spring.config.import