Skip to main content

index

docs/
└── tutorials/
└── spring-boot/
β”œβ”€β”€ index.mdx
β”œβ”€β”€ 01-introduction/
β”‚ β”œβ”€β”€ what-is-spring-boot.mdx
β”‚ β”œβ”€β”€ spring-framework-vs-spring-boot.mdx
β”‚ β”œβ”€β”€ spring-boot-features.mdx
β”‚ β”œβ”€β”€ spring-boot-architecture.mdx
β”‚ β”œβ”€β”€ spring-boot-use-cases.mdx
β”‚ └── spring-boot-versions-and-support.mdx
β”œβ”€β”€ 02-java-and-prerequisites/
β”‚ β”œβ”€β”€ java-fundamentals-for-spring.mdx
β”‚ β”œβ”€β”€ object-oriented-programming.mdx
β”‚ β”œβ”€β”€ interfaces-and-inheritance.mdx
β”‚ β”œβ”€β”€ collections-and-generics.mdx
β”‚ β”œβ”€β”€ exceptions-and-logging.mdx
β”‚ β”œβ”€β”€ lambdas-and-streams.mdx
β”‚ └── annotations-and-reflection.mdx
β”œβ”€β”€ 03-environment-setup/
β”‚ β”œβ”€β”€ install-java-and-jdk.mdx
β”‚ β”œβ”€β”€ verify-java-installation.mdx
β”‚ β”œβ”€β”€ install-maven.mdx
β”‚ β”œβ”€β”€ gradle-fundamentals.mdx
β”‚ β”œβ”€β”€ configure-intellij-idea.mdx
β”‚ β”œβ”€β”€ configure-vscode-or-eclipse.mdx
β”‚ β”œβ”€β”€ spring-initializr.mdx
β”‚ └── create-your-first-project.mdx
β”œβ”€β”€ 04-project-structure/
β”‚ β”œβ”€β”€ project-directory-layout.mdx
β”‚ β”œβ”€β”€ pom-xml-explained.mdx
β”‚ β”œβ”€β”€ gradle-build-files.mdx
β”‚ β”œβ”€β”€ main-application-class.mdx
β”‚ β”œβ”€β”€ application-properties.mdx
β”‚ β”œβ”€β”€ application-yaml.mdx
β”‚ └── run-and-package-application.mdx
β”œβ”€β”€ 05-core-spring-concepts/
β”‚ β”œβ”€β”€ inversion-of-control.mdx
β”‚ β”œβ”€β”€ dependency-injection.mdx
β”‚ β”œβ”€β”€ spring-beans.mdx
β”‚ β”œβ”€β”€ application-context.mdx
β”‚ β”œβ”€β”€ component-scanning.mdx
β”‚ β”œβ”€β”€ component-service-repository.mdx
β”‚ β”œβ”€β”€ constructor-injection.mdx
β”‚ └── bean-lifecycle-and-scopes.mdx
β”œβ”€β”€ 06-configuration-and-profiles/
β”‚ β”œβ”€β”€ externalized-configuration.mdx
β”‚ β”œβ”€β”€ properties-vs-yaml.mdx
β”‚ β”œβ”€β”€ configuration-properties.mdx
β”‚ β”œβ”€β”€ environment-variables.mdx
β”‚ β”œβ”€β”€ profiles-and-profile-groups.mdx
β”‚ β”œβ”€β”€ conditional-beans.mdx
β”‚ β”œβ”€β”€ custom-auto-configuration.mdx
β”‚ └── configuration-validation.mdx
β”œβ”€β”€ 07-rest-api-development/
β”‚ β”œβ”€β”€ http-and-rest-fundamentals.mdx
β”‚ β”œβ”€β”€ spring-web-and-mvc.mdx
β”‚ β”œβ”€β”€ create-rest-controller.mdx
β”‚ β”œβ”€β”€ request-mapping.mdx
β”‚ β”œβ”€β”€ path-variables-and-query-parameters.mdx
β”‚ β”œβ”€β”€ request-bodies-and-response-bodies.mdx
β”‚ β”œβ”€β”€ response-entities-and-status-codes.mdx
β”‚ β”œβ”€β”€ dto-design-and-mapping.mdx
β”‚ β”œβ”€β”€ pagination-sorting-and-filtering.mdx
β”‚ β”œβ”€β”€ global-exception-handling.mdx
β”‚ β”œβ”€β”€ api-versioning.mdx
β”‚ └── openapi-and-swagger.mdx
β”œβ”€β”€ 08-validation-and-data-transfer/
β”‚ β”œβ”€β”€ bean-validation-fundamentals.mdx
β”‚ β”œβ”€β”€ jakarta-validation-annotations.mdx
β”‚ β”œβ”€β”€ validate-request-bodies.mdx
β”‚ β”œβ”€β”€ custom-validation-constraints.mdx
β”‚ β”œβ”€β”€ validation-error-responses.mdx
β”‚ β”œβ”€β”€ dto-vs-entity.mdx
β”‚ └── serialization-and-deserialization.mdx
β”œβ”€β”€ 09-database-and-persistence/
β”‚ β”œβ”€β”€ database-fundamentals.mdx
β”‚ β”œβ”€β”€ configure-postgresql.mdx
β”‚ β”œβ”€β”€ configure-mysql.mdx
β”‚ β”œβ”€β”€ jdbc-and-datasources.mdx
β”‚ β”œβ”€β”€ spring-data-jpa.mdx
β”‚ β”œβ”€β”€ entity-mapping.mdx
β”‚ β”œβ”€β”€ primary-keys-and-relationships.mdx
β”‚ β”œβ”€β”€ repositories-and-query-methods.mdx
β”‚ β”œβ”€β”€ jpql-and-native-queries.mdx
β”‚ β”œβ”€β”€ transactions-and-rollback.mdx
β”‚ β”œβ”€β”€ lazy-and-eager-loading.mdx
β”‚ β”œβ”€β”€ n-plus-one-query-problem.mdx
β”‚ β”œβ”€β”€ database-migrations-with-flyway.mdx
β”‚ └── database-migrations-with-liquibase.mdx
β”œβ”€β”€ 10-spring-security/
β”‚ β”œβ”€β”€ security-fundamentals.mdx
β”‚ β”œβ”€β”€ security-filter-chain.mdx
β”‚ β”œβ”€β”€ authentication-and-authorization.mdx
β”‚ β”œβ”€β”€ password-encoding.mdx
β”‚ β”œβ”€β”€ database-backed-authentication.mdx
β”‚ β”œβ”€β”€ role-based-access-control.mdx
β”‚ β”œβ”€β”€ method-level-security.mdx
β”‚ β”œβ”€β”€ jwt-authentication.mdx
β”‚ β”œβ”€β”€ oauth2-and-openid-connect.mdx
β”‚ β”œβ”€β”€ cors-and-csrf.mdx
β”‚ β”œβ”€β”€ secure-password-reset.mdx
β”‚ └── security-testing.mdx
β”œβ”€β”€ 11-testing-and-quality/
β”‚ β”œβ”€β”€ testing-strategy.mdx
β”‚ β”œβ”€β”€ junit-5-fundamentals.mdx
β”‚ β”œβ”€β”€ unit-testing-with-mockito.mdx
β”‚ β”œβ”€β”€ spring-boot-test.mdx
β”‚ β”œβ”€β”€ web-layer-testing.mdx
β”‚ β”œβ”€β”€ repository-testing.mdx
β”‚ β”œβ”€β”€ integration-testing.mdx
β”‚ β”œβ”€β”€ testcontainers.mdx
β”‚ β”œβ”€β”€ mockmvc-and-rest-assured.mdx
β”‚ β”œβ”€β”€ test-profiles-and-fixtures.mdx
β”‚ β”œβ”€β”€ code-coverage-and-quality.mdx
β”‚ └── ci-testing-workflow.mdx
β”œβ”€β”€ 12-error-handling-and-logging/
β”‚ β”œβ”€β”€ exception-handling-strategies.mdx
β”‚ β”œβ”€β”€ controller-advice.mdx
β”‚ β”œβ”€β”€ structured-error-responses.mdx
β”‚ β”œβ”€β”€ slf4j-and-logback.mdx
β”‚ β”œβ”€β”€ structured-logging.mdx
β”‚ β”œβ”€β”€ correlation-ids.mdx
β”‚ β”œβ”€β”€ log-levels-and-configuration.mdx
β”‚ └── sensitive-data-in-logs.mdx
β”œβ”€β”€ 13-caching-and-performance/
β”‚ β”œβ”€β”€ caching-fundamentals.mdx
β”‚ β”œβ”€β”€ spring-cache-abstraction.mdx
β”‚ β”œβ”€β”€ caffeine-cache.mdx
β”‚ β”œβ”€β”€ redis-cache.mdx
β”‚ β”œβ”€β”€ cache-invalidation.mdx
β”‚ β”œβ”€β”€ database-query-optimization.mdx
β”‚ β”œβ”€β”€ connection-pooling.mdx
β”‚ └── performance-profiling.mdx
β”œβ”€β”€ 14-asynchronous-and-messaging/
β”‚ β”œβ”€β”€ asynchronous-methods.mdx
β”‚ β”œβ”€β”€ scheduling-tasks.mdx
β”‚ β”œβ”€β”€ async-executors-and-context.mdx
β”‚ β”œβ”€β”€ spring-events.mdx
β”‚ β”œβ”€β”€ messaging-fundamentals.mdx
β”‚ β”œβ”€β”€ rabbitmq-integration.mdx
β”‚ β”œβ”€β”€ kafka-integration.mdx
β”‚ β”œβ”€β”€ retries-and-dead-letter-queues.mdx
β”‚ └── idempotency-and-message-delivery.mdx
β”œβ”€β”€ 15-external-api-integration/
β”‚ β”œβ”€β”€ restclient-and-resttemplate.mdx
β”‚ β”œβ”€β”€ webclient-and-reactive-http.mdx
β”‚ β”œβ”€β”€ declarative-http-clients.mdx
β”‚ β”œβ”€β”€ timeouts-and-retries.mdx
β”‚ β”œβ”€β”€ resilience-patterns.mdx
β”‚ β”œβ”€β”€ circuit-breakers-with-resilience4j.mdx
β”‚ └── api-client-testing.mdx
β”œβ”€β”€ 16-file-storage-and-uploads/
β”‚ β”œβ”€β”€ multipart-file-upload.mdx
β”‚ β”œβ”€β”€ file-validation-and-limits.mdx
β”‚ β”œβ”€β”€ local-file-storage.mdx
β”‚ β”œβ”€β”€ object-storage-integration.mdx
β”‚ β”œβ”€β”€ file-download-endpoints.mdx
β”‚ └── secure-file-handling.mdx
β”œβ”€β”€ 17-observability-and-actuator/
β”‚ β”œβ”€β”€ spring-boot-actuator.mdx
β”‚ β”œβ”€β”€ health-and-readiness-probes.mdx
β”‚ β”œβ”€β”€ metrics-with-micrometer.mdx
β”‚ β”œβ”€β”€ prometheus-and-grafana.mdx
β”‚ β”œβ”€β”€ distributed-tracing.mdx
β”‚ β”œβ”€β”€ opentelemetry-integration.mdx
β”‚ └── production-monitoring.mdx
β”œβ”€β”€ 18-microservices/
β”‚ β”œβ”€β”€ microservices-fundamentals.mdx
β”‚ β”œβ”€β”€ service-boundaries-and-domain-design.mdx
β”‚ β”œβ”€β”€ service-to-service-communication.mdx
β”‚ β”œβ”€β”€ service-discovery.mdx
β”‚ β”œβ”€β”€ api-gateway-pattern.mdx
β”‚ β”œβ”€β”€ centralized-configuration.mdx
β”‚ β”œβ”€β”€ distributed-transactions-and-saga.mdx
β”‚ β”œβ”€β”€ event-driven-architecture.mdx
β”‚ └── microservices-observability.mdx
β”œβ”€β”€ 19-reactive-spring/
β”‚ β”œβ”€β”€ imperative-vs-reactive-programming.mdx
β”‚ β”œβ”€β”€ project-reactor-fundamentals.mdx
β”‚ β”œβ”€β”€ mono-and-flux.mdx
β”‚ β”œβ”€β”€ spring-webflux.mdx
β”‚ β”œβ”€β”€ reactive-data-access.mdx
β”‚ β”œβ”€β”€ backpressure-and-error-handling.mdx
β”‚ └── when-to-use-webflux.mdx
β”œβ”€β”€ 20-docker-and-deployment/
β”‚ β”œβ”€β”€ production-builds.mdx
β”‚ β”œβ”€β”€ executable-jars.mdx
β”‚ β”œβ”€β”€ dockerize-spring-boot.mdx
β”‚ β”œβ”€β”€ docker-compose-and-databases.mdx
β”‚ β”œβ”€β”€ container-health-checks.mdx
β”‚ β”œβ”€β”€ ci-cd-with-github-actions.mdx
β”‚ β”œβ”€β”€ deploy-to-cloud-platforms.mdx
β”‚ β”œβ”€β”€ reverse-proxy-and-tls.mdx
β”‚ β”œβ”€β”€ environment-secrets.mdx
β”‚ └── production-deployment-checklist.mdx
β”œβ”€β”€ 21-advanced-spring-boot/
β”‚ β”œβ”€β”€ custom-starters.mdx
β”‚ β”œβ”€β”€ auto-configuration-development.mdx
β”‚ β”œβ”€β”€ application-events-and-listeners.mdx
β”‚ β”œβ”€β”€ custom-annotations.mdx
β”‚ β”œβ”€β”€ modular-monoliths.mdx
β”‚ β”œβ”€β”€ native-images-and-aot.mdx
β”‚ β”œβ”€β”€ virtual-threads.mdx
β”‚ └── framework-migration-and-upgrades.mdx
β”œβ”€β”€ 22-projects/
β”‚ β”œβ”€β”€ hello-world-rest-api.mdx
β”‚ β”œβ”€β”€ task-management-api.mdx
β”‚ β”œβ”€β”€ library-management-system.mdx
β”‚ β”œβ”€β”€ expense-tracker-api.mdx
β”‚ β”œβ”€β”€ jwt-authentication-service.mdx
β”‚ β”œβ”€β”€ ecommerce-backend.mdx
β”‚ β”œβ”€β”€ notification-service.mdx
β”‚ β”œβ”€β”€ microservices-order-platform.mdx
β”‚ └── production-capstone.mdx
β”œβ”€β”€ reference/
β”‚ β”œβ”€β”€ spring-boot-annotations-cheatsheet.mdx
β”‚ β”œβ”€β”€ application-properties-reference.mdx
β”‚ β”œβ”€β”€ maven-commands.mdx
β”‚ β”œβ”€β”€ http-status-codes.mdx
β”‚ β”œβ”€β”€ common-errors-and-solutions.mdx
β”‚ β”œβ”€β”€ glossary.mdx
β”‚ β”œβ”€β”€ version-compatibility.mdx
β”‚ └── official-resources.mdx
└── assets/
β”œβ”€β”€ images/
β”œβ”€β”€ diagrams/
└── examples/