All Tutorials

Every Spring Boot tutorial on the site, newest first

Install the JDK, configure Maven and write your first Spring program on solid ground.

BeanDefinition, the twelve steps of refresh(), bean lifecycle and the three-level cache — the IoC container taken apart.

Proxy patterns, JDK vs CGLIB, and @AspectJ in full — see through Spring's cross-cutting magic.

The combined annotations, auto-configuration loading, conditional wiring and custom starters — how Boot just works.

01Your First Spring Boot App: Hello World in Three MinutesFrom start.spring.io to your first browser refresh: how the project is built, what every line of the main class means, where embedded Tomcat comes from and why web.xml is gone.Beginner47′02@SpringBootApplication: One Annotation, Three MeaningsOne annotation, three jobs: @SpringBootConfiguration, @EnableAutoConfiguration and @ComponentScan. Unpack each layer, plus scan boundaries, exclusions and where to put the main class.Intermediate52′03Auto-Configuration Internals: From spring.factories to AutoConfiguration.importsWhy does adding a starter hand you a DataSource and a transaction manager? Unpack the loading pipeline of AutoConfigurationImportSelector, the ordering of @AutoConfiguration and the condition toolbox.Advanced50′04Conditional Wiring in Full: Ten Questions About @ConditionalThe real brain behind auto-configuration is conditional wiring. From the @Conditional meta-annotation to the whole OnClass/OnMissingBean/OnProperty family, with evaluation order and debugging.Intermediate44′05Build Your Own Starter: From Zero to Auto-LoadedHow many modules and annotations does a real starter need? Build an SMS starter end to end: auto-configuration, conditions, configuration properties, the imports file and verification.Advanced54′06Configuration in Full: Properties, YAML, Binding and ProfilesConfig file precedence, loose binding and validation in @ConfigurationProperties, profile switching, encryption and externalization — every configuration question answered.Intermediate44′

A full request journey through DispatcherServlet, argument binding, RESTful conventions, validation and global exceptions.

JDBC evolution, connection pools, MyBatis, JPA, transaction propagation and Redis caching.

01From Raw JDBC to JdbcTemplate: The Evolution of Data AccessStart from suffocating raw JDBC, refactor step by step to JdbcTemplate, and settle three fundamentals: SQL injection, resource leaks and exception translation.Intermediate63′02DataSource and HikariCP: Pool Internals and TuningWhy not open a connection per request? Why is HikariCP so fast? And how big should the pool be — pool internals, a parameter table and monitoring, turned into a tunable craft.Advanced42′03MyBatis in Practice: Mappers, Dynamic SQL and PagingStarting with mybatis-spring-boot-starter: the safety line between #{} and ${}, the dynamic SQL tag family, joins and paging — with both XML and annotation styles ready to copy.Intermediate63′04Spring Data JPA in Full: Repository Abstraction and JPQLThe persistence context and the four entity states, dirty checking and the flush moment, derived queries, @Query and JPQL, paging and dynamic criteria, N+1 and lazy loading, auditing and optimistic locking.Intermediate92′05Transactions Internals: How @Transactional Works and PropagatesWhy does one annotation commit or roll back for you? Proxy interception, connection binding to ThreadLocal, all seven propagation behaviors, dead-annotation scenarios and a peek at distributed transactions.Advanced51′06Redis and Spring Cache: The Caching Abstraction in PracticeFrom penetration, breakdown and avalanche to a complete Spring Cache + Redis setup: key design, serialization, expiry and the consistency trade-off.Intermediate56′

JUnit 5, integration testing, logging, the secrets of packaging and Docker deployment.

The Security filter chain, JWT/OAuth2, async pools, event-driven design and Actuator monitoring.

From requirements to CI/CD — independently deliver an advanced Spring Boot project.