| S.No |
Topic |
Sub-Topics |
| 1 |
Introduction to Spring |
What is Spring?, Architecture, Modules Overview, DI vs IoC, Advantages |
| 2 |
Spring Core Concepts |
IoC Container, BeanFactory, ApplicationContext, Beans Lifecycle, XML Config |
| 3 |
Dependency Injection |
Constructor DI, Setter DI, Field Injection, Qualifiers, Primary Bean |
| 4 |
Bean Scopes |
Singleton, Prototype, Request Scope, Session Scope, Global Scope |
| 5 |
Java-based Configuration |
@Configuration, @Bean, @ComponentScan, @PropertySource, Environment |
| 6 |
Spring AOP |
Concept, Advice Types, Pointcut, AspectJ, Cross Cutting |
| 7 |
Spring MVC Basics |
DispatcherServlet, Controllers, ViewResolver, @RequestMapping, Model |
| 8 |
Forms & Validation |
Binding, Validation API, @Valid, Error Handling, Conversion |
| 9 |
REST API with Spring |
@RestController, @GetMapping, JSON Response, Status Codes, Exception Handling |
| 10 |
Spring Boot Basics |
Auto Configuration, Starter Projects, Application Runner, Profiles, CLI |
| 11 |
Spring Boot Configuration |
application.yml, Properties, @ConfigurationProperties, Profiles, Logging |
| 12 |
Database Integration |
JDBC Template, Datasource, Transactions, Exception Translation, DAO Pattern |
| 13 |
Spring Data JPA |
Repositories, @Entity, CRUD, Query Methods, Pagination |
| 14 |
Spring Data Advanced |
JPQL, Native Queries, Specifications, Projections, Auditing |
| 15 |
Hibernate Integration |
ORM Concepts, Session Factory, Cache, Lazy Loading, Relationships |
| 16 |
Transactions |
@Transactional, Propagation, Isolation Levels, Rollback Rules, AOP Integration |
| 17 |
Spring Security Basics |
Authentication, Authorization, Filters, UserDetails, Password Encoder |
| 18 |
JWT & Security |
JWT Flow, Token Filters, Custom Auth Provider, CSRF, CorsConfig |
| 19 |
Spring Boot Testing |
JUnit, Mockito, WebMvcTest, DataJpaTest, Testcontainers |
| 20 |
Spring Cloud Basics |
Microservices, Config Server, Service Registry, Load Balancer, Gateway |
| 21 |
Spring Cloud Netflix |
Eureka, Ribbon, Feign Clients, Hystrix, Circuit Breaker |
| 22 |
Docker with Spring Boot |
Dockerfile, Build Image, Run Container, Environment Vars, docker-compose |
| 23 |
Kubernetes Deployment |
Pods, Deployments, Services, ConfigMap, Helm Chart |
| 24 |
Kafka Integration |
Message Broker, Producer, Consumer, Streams, JSON Messages |
| 25 |
Spring Batch |
Job, Step, ItemReader, ItemWriter, Scheduling |
| 26 |
Spring Integration |
Messaging Channels, Transformation, Endpoints, Gateways, Enrichers |
| 27 |
Spring WebFlux |
Reactive Streams, Mono/Flux, WebClient, Router Functions, Backpressure |
| 28 |
Logging & Observability |
SLF4J, Micrometer, Prometheus, Zipkin, Traces |
| 29 |
Performance & Caching |
EhCache, Redis, Cache Abstraction, Metrics, Tuning |
| 30 |
Final Project |
Microservice App, REST API, JWT Auth, JPA, Docker Deploy |
| Topic |
Annotation |
Description |
| Application Setup |
@SpringBootApplication |
Marks the main class of a Spring Boot application; combines @Configuration, @EnableAutoConfiguration, and @ComponentScan. |
|
@EnableAutoConfiguration |
Enables Spring Boot?s auto-configuration mechanism. |
|
@Configuration |
Indicates that a class declares one or more @Bean methods. |
|
@ComponentScan |
Configures component scanning directives for Spring. |
| Dependency Injection |
@Autowired |
Automatically injects dependent beans. |
|
@Inject |
JSR-330 annotation for dependency injection. |
|
@Qualifier |
Specifies which bean to inject when multiple candidates exist. |
|
@Value |
Injects values from properties or environment variables. |
| Component Stereotypes |
@Component |
Generic stereotype for any Spring-managed component. |
|
@Service |
Marks a service layer component. |
|
@Repository |
Marks a DAO component and enables exception translation. |
|
@Controller |
Marks a web controller in Spring MVC. |
|
@RestController |
Specialized controller returning JSON/XML responses. |
| Web / REST |
@RequestMapping |
Maps HTTP requests to handler methods. |
|
@GetMapping |
Shortcut for @RequestMapping(method = RequestMethod.GET). |
|
@PostMapping |
Shortcut for @RequestMapping(method = RequestMethod.POST). |
|
@PutMapping |
Shortcut for @RequestMapping(method = RequestMethod.PUT). |
|
@DeleteMapping |
Shortcut for @RequestMapping(method = RequestMethod.DELETE). |
|
@PathVariable |
Binds a method parameter to a URI template variable. |
|
@RequestParam |
Binds a method parameter to a query parameter. |
|
@RequestBody |
Binds the HTTP request body to a method parameter. |
|
@ResponseBody |
Indicates a method return value should be serialized to the response body. |
| Configuration / Properties |
@PropertySource |
Specifies the location of properties files. |
|
@ConfigurationProperties |
Binds external properties to a POJO. |
|
@EnableConfigurationProperties |
Enables support for @ConfigurationProperties classes. |
| Aspect-Oriented Programming |
@Aspect |
Marks a class as an aspect. |
|
@Before |
Advice to run before a matched method. |
|
@After |
Advice to run after a matched method. |
|
@Around |
Advice to run around a matched method. |
| Scheduling / Async |
@EnableScheduling |
Enables Spring?s scheduled task execution capability. |
|
@Scheduled |
Declares a scheduled task. |
|
@EnableAsync |
Enables asynchronous method execution. |
|
@Async |
Marks a method to be executed asynchronously. |
| Transactions |
@EnableTransactionManagement |
Enables Spring?s annotation-driven transaction management. |
|
@Transactional |
Declares transactional behavior on a class or method. |
| Testing |
@SpringBootTest |
Boots up the full Spring application context for integration tests. |
|
@WebMvcTest |
Tests only the web layer (controllers). |
|
@DataJpaTest |
Tests only JPA repositories. |
|
@MockBean |
Adds a Mockito mock to the Spring context. |