• Application Context
  • Application.properties
    • Environment variable
    • @ConfigurationProperties
  • Beans
  • Scope of Beans
  • Annotations
    • Stereotype
      • @Component, @Service, @Controller, @Repository, @Configuration
    • @SpringBootApplication
      • @ComponentScan
    • @Bean
    • @ConfigurationProperties
    • @EnableConfigurationProperties
    • @Autowired
    • @Qualifier
  • Dependency Injection
    • Field Injection
    • Constructor Injection
    • Setter Injection
    • Inversion of Control
  • REST API
    • Annotations
  • Database
    • Spring Data JPA
    • Annotations- @Entity, @Id, @GeneratedValue, @OnetoMany, @ManytoOne, @Repository
  • Testing
    • Unit testing vs Integration testing
    • JUnit
      • Annotations - @Test, @BeforeAll, @BeforeEach, @AfterAll, @AfterEach
    • Mockito
      • Annotations - @InjectMocks, @Mock, @Spy, @MockBean, @SpyBean
    • Extra - WireMock, MockMVC
    • Annotations - @SpringBootTest
  • Logging
    • Slf4J
    • Which logging library used
    • Log levels
  • Project reactor
    • WebClient
    • RestTemplate (Non reactive)
    • Mono & Flux
    • Operators