Skip to content
@springboot-3-example

Springboot 3 Tutorials

Learning Springboot 3 with examples (Basic, Intermediete, Advance) projects

About

Learning Springboot 3 with example project (Basic, Intermediete, Advance).

  • All repositories on this page is private.
  • This page just share readme (table of contents)

Requirement

Java        : 21
Springboot  : 3.2.0

Documentation

Link Documentation

  • Docker Compose
  • Postman Collection
  • Diagram, pdf, doc, excel, all notest etc

Basic

  • learn initialize project, pom, application.yml, banner, compile, run, project structure (jdk) DONE
  • learn create API and spring component(controller, service, repostory) DONE
  • Springboot3 & MySql (librarry, config, JPA, CRUD) DONE
  • Springboot3 & sl4j (librarry, annotation, config, custom log) DONE
  • Springboot3 & liquibase (librarry, config, change-log.yml, query sql file, table change log) DONE
  • Springboot3 & Swagger Open API (librarry, config, permitAll url, test) DONE
  • Springboot3 & unitest (testing the controller & service class)
Status Name Desc
Done project initiate init, pom.xml, banner, application.yml, spring profile (dev, prod)
Done db migration liquibase, config, change-log.yml, .sql
Done crud mysql mysql connector java, jpa, crud, query native, @Controller @Service @Repository
Done logger slf4j, logback
Done swagger api doc swagger, open api, api doc

Intermediete

  • Springboot3 & Spring Security (librarry, config, jwt, authorization, authentication, permitall api) DONE
  • Springboot3 & CORS (config, set all propertiy of CORS) DONE
  • Springboot3 & Redis (librarry, application.yml, config, service, CRUD) DONE
  • Springboot3 & RabbitMQ (librarry, application.yml, config, publisher, listener, message header, message body, exchange, route, queue) DONE
  • Springboot3 & Kafka (librarry, application.yml, config, publisher, listener, broker, group, topic) DONE
  • Springboot3 & elastic (librarry, application.yml, config, elastic CRUD service) DONE
Status Name Desc
Done spring security spring security 6, security configuration, jwt, authentication, authorization, middleware, UserDetail Spring
Done redis spring data redis, config yml, RedisConfig, redis Expired TTL, redis for auth & authorization
Done cors CorsConfig.java, allow request header, allow response header, allow origins url, allow http method
Done rabbitmq spring rabbit, config yml, publish, listen, exchange, route, queue
Done kafka spring kafka, config yml, publish, listen, broker, group, topic
Done elastic spring elastic, config yml, listen data from rabbitmq, crud elastic, searching

Advance

  • Springboot3 custom librarry
  • Springboot3 deploy manualy the custom librarry into github package using apache maven
  • Springboot3 deploy automate the custom librarry into github package using github action
  • Springboot3 & Rollback Transaction (@Transactional, rollbackfor, @ControllerAdvice, @ExceptionHandler) Done
  • Springboot3 & Connection Pooling (Tomcat Connection Pooling, set max pooling, active pooling, idle pooling, lock pooling)
  • Springboot3 & Concurrency (@Transactional, Optimistic Locking, Pesimistic Locking, Versioning)
  • Springboot3 & @Async (annotation, bean registration, implement async been on function )
  • Springboot3 & @Scheduler (annotation, execute the scheduler)
  • Springboot3 & RateLimmiter (resilent4j librarry, config, implement on controller)
  • Springboot3 & Metric API (spring actuator lib, config, permitall url metric, testing generate metric)
  • Springboot3 & Prometheus-Grafana (librarry, config, prometheus connection status check, prometheus execute sraping api, grafana datasource config, prometheus.yml, grafana dataource.yml)
Status Name Desc
Done custom librarry Custom librarry for standarized the Controller, Service, Repository, Dto, Entity, etc
Done github package as librarry repository Deploy custom librarry into github package, deploy manualy using maven, deploy automate using github action
Done rollback transaction @Transactional, rollbackfor, @ControllerAdvice, @ExceptionHandler
connection pooling librarry tomcat jdbc, hikariCP
concurrency racecondition
Done async
scheduler
ratelimmiter
metric api
prometheus grafana
Done Unitest service layer
Done Unitest controller layer

Deployment

  • learn how to config using spring profile (dev, staging) DONE
  • learn how to set value from environtment value for .yml file DONE
  • learn how to dockerize project (Dockerfile, docker compose, docker image, docker container, expose port, docker network, connection)
  • learn how to ci/cd (github action, pipeline, vps)
Status Name Desc
Done Springboot profile spring profile dev/prod on pom.xml, application.yml application-dev.yml application-prod.yml
Done Springboot3 environtment variable env variable for application-prod.yml and docker-compose.yml
Done Build docker image Springboot 3 create, application.yml application-dev.yml application-prod.yml, docker file for build docker image, docker-compose.yml for crete and run docker container
Done Build docker image with custom setting.xml Springboot 3 create docker file for build docker image with custom setting.xml, download custom librarry from github package
Done Github Action build & push docker image to dockerhub Springboot 3, Dockerfile, Github Action, Dockher Hub, Secreet Variable
Done Github Action deploy to VPS Springboot3, Github Action, VPS, Secreet Variable
Done Github Action build & push docker image to github container registry Springboot 3, Dockerfile, Github Action, github container registry

Server

  • install portainer for docker management on vps
Status Name Desc
Done nginx nginx, gateway, load balancer, round robin, vertical scalling backend service, docker , docker compose
Done portainer portainer, docker-compose, portainer configuration, container management, see logger, download logger, recreate docker container
Done argocd argocd-server, argocd-repository, ci/cd, docker compose, configuration

Microservices

  • Registry Service (librarry, config, registry server, registry client)
  • Spring cloud gateway (librarry, application.yml, config, routing, filtering)
  • Spring Cloud gateway CORS
  • Auth service with feature (user, role, permission, menu, authentication, authorization, jwt, redis auth)
  • Main Service with features (product API for CRUD into mysql, publish into kafka)
  • Search Service with features (product API for search data into elastic, listen data from kafka and CRUD to elastic)
  • RateLimmiter with Resilent4j
  • Monitoring with Prometheus and Grafana
Status Name Desc
registry service discovery service, eureka
gateway service spring cloud gateway, redis, rate limmiter, routing, filter, cors, metric, prometheus, grafana, logger
auth service spring security, jwt, oauth1, redis, authentication, authorization, midleware, logger
main service crud product api, jpa, mysql, rabbitmq, internal token, logger
search service search product, elastic, rabbitmq , internal token, logger

Popular repositories

  1. .github .github Public

    Organization Profile

Repositories

Showing 1 of 1 repositories

Top languages

Loading…

Most used topics

Loading…