Loading

Quipoin Menu

Learn • Practice • Grow

spring / Spring Configuration
interview

Q1. What are the ways to configure Spring beans?
Spring supports three configuration approaches: XML-based configuration (using applicationContext.xml), Annotation-based configuration (using @Component, @Service, etc., with component scanning), and Java-based configuration (using @Configuration and @Bean methods). Modern Spring Boot favors Java config and annotations.

Q2. What is @Configuration and @Bean?
@Configuration indicates that a class declares one or more @Bean methods and may be processed by the Spring container to generate bean definitions. @Bean is a method-level annotation that tells Spring that the method returns an object to be registered as a bean in the application context. Example:
@Configuration public class AppConfig { @Bean public MyService myService() { return new MyService(); } }

Q3. How does component scanning work?
Component scanning automatically detects classes annotated with @Component, @Service, @Repository, @Controller and registers them as beans. You enable scanning with @ComponentScan (Java config) or in XML. Spring scans specified packages for annotated classes.

Q4. What is the difference between @Component, @Service, and @Repository?
All are specializations of @Component for different layers: @Service for service layer, @Repository for persistence layer (adds translation of persistence exceptions), @Controller for web layer. They are semantically equivalent but provide clarity and enable specific exception handling or AOP pointcuts.