| Core Container |
Beans, BeanFactory, ApplicationContext, Bean Scopes, Bean Lifecycle, Dependency Injection (DI), Inversion of Control (IoC) |
✅ |
✅ |
✅ |
✅ |
| Configuration |
XML Configuration, Java-based Configuration, Annotation-based Configuration, Environment Profiles, Externalized Configuration |
✅ |
✅ |
✅ |
✅ |
| Spring Context |
ApplicationContext, MessageSource, Internationalization (i18n), Event Handling, ApplicationListener |
✅ |
✅ |
✅ |
✅ |
| Spring AOP |
AOP Concepts, Join Points, Pointcuts, Advice, Aspects, Proxying, AspectJ Integration |
|
✅ |
✅ |
✅ |
| Data Access (DAO) |
JDBC Template, DataSource, Transaction Management, Exception Translation, ORM Integration |
|
✅ |
✅ |
✅ |
| Spring ORM |
Hibernate Integration, JPA Support, EntityManager, SessionFactory, Transactional Annotations |
|
✅ |
✅ |
✅ |
| Spring Transactions |
Programmatic Transactions, Declarative Transactions, Propagation, Isolation Levels, Rollback Rules |
|
✅ |
✅ |
✅ |
| Spring MVC |
DispatcherServlet, Controllers, HandlerMapping, ViewResolver, ModelAndView, Form Handling, Validation |
✅ |
✅ |
✅ |
✅ |
| Spring REST |
REST Controllers, @RestController, @RequestBody, @ResponseBody, Content Negotiation, Exception Handling |
|
✅ |
✅ |
✅ |
| Spring WebFlux |
Reactive Programming, Mono, Flux, Functional Endpoints, Reactive Repositories |
|
|
✅ |
✅ |
| Spring Security |
Authentication, Authorization, Security Filters, UserDetailsService, Password Encoding, JWT, OAuth2 |
|
✅ |
✅ |
✅ |
| Spring Boot |
Auto-Configuration, Starters, Actuator, Spring Boot CLI, Spring Initializr, Properties & YAML |
✅ |
✅ |
✅ |
✅ |
| Spring Data |
Spring Data JPA, Spring Data MongoDB, PagingAndSortingRepository, CrudRepository, Custom Queries |
|
✅ |
✅ |
✅ |
| Spring Cloud |
Config Server, Eureka, Zuul/Gateway, Ribbon, Feign, Hystrix, Sleuth, Cloud Bus |
|
|
✅ |
✅ |
| Spring Batch |
Job, Step, Tasklet, ItemReader, ItemWriter, JobLauncher, Retry & Skip Logic |
|
|
✅ |
✅ |
| Spring Integration |
Messaging, Channels, Transformers, Routers, Adapters, Gateways, Enterprise Integration Patterns |
|
|
✅ |
✅ |
| Spring Testing |
Unit Testing with JUnit, MockMvc, @SpringBootTest, Test Slices, Embedded Database Testing |
✅ |
✅ |
✅ |
✅ |
| Spring Messaging |
JMS, AMQP, STOMP, WebSockets, MessageConverters, RabbitMQ/Kafka Integration |
|
|
✅ |
✅ |
| Spring Reactive |
Reactive Streams, Reactive Data Access, Backpressure, Reactor Core, WebFlux Security |
|
|
✅ |
✅ |
| Spring GraphQL |
Spring for GraphQL, DataFetchers, Schema Mapping, Subscriptions, GraphQL + WebFlux |
|
|
✅ |
✅ |
| 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. |