Spring Roadmap

  • Documentation
  • Spring Framework Core
    • Configuration
    • Spring MVC
      • Web Servers (Tomcat, Jetty)
      • Http
        • GET
        • POST
        • DELETE
        • PUT
      • Spring Rest Docs
    • Dependency Injection
    • Available Annotations
    • Scheduling
  • Security
    • OAuth2
    • Form Auth
    • Basic Auth
    • JWT
    • Authentication and Authorization
  • Spring boot
    • Database (PostgresSQL or MySQL, MongoDB)
      • Hibernate
        • Transactions
        • Relationships
          • OneToMany
          • OneToOne
          • ManyToMany
        • Entity lifecycle
      • Transactions
      • Spring Data
        • Spring Data JDBC
          • JDBC Template
        • Spring Data JPA (Great for small apps)
        • Spring Data MongoDb
      • Database design
      • SQL/NoSQL
        • Queries
        • All Types of Joins
        • Indexes
        • Transactions
        • Locking
    • Microservices
      • Spring Cloud
        • Spring Cloud Gateway
        • Hystrix
        • Sleuth
        • Cloud Config
        • Eureka
        • OpenFeign
      • Docker and k8s
      • Message Queeues
        • SQS
        • Kafka
        • RabbitMQ
  • Testing
    • @JPA Test
    • MockMVC
    • Testing Services
    • Mocking
  • Annotations
  • PostCreate and recreate beans
  • Bean scope
  • JDBC bean state
  • Relations
  • Custom query in JPA
  • Auth (how can we implement authentication)
  • JWT token
  • Oauth 2.0 (explain)
  • Project structure
  • Versioning
  • Third party servicesAWS
    • Google could
    • Azure
    • SMS service
    • Mail service
    • Notificaiton service
    • Hooks for github
  • Controller ver Rest controller
  • Application context explanation
  • Caching
  • DB transactions
  • Actuator
  • Tools
    • Cloud foundry
    • Jenkins
    • Docker
    • Kubernetes
  • Apache Kafka
  • Eureka
  • @Bean vs @Component