@Configuration Classes — Spring Technical Interview Questions & Answers

Java-based configuration instead of XML.

@Configuration Classes

  • A @Configuration class is a Java class that defines beans with methods.
  • Use @Bean methods for objects you cannot annotate (like third-party classes).
  • Spring calls those methods and manages the returned objects.
  • This replaces a lot of old XML configuration.
  • Creating objects with new inside services when they should be beans.
  • @Configuration + @Bean = Java-based config.

Technical Interview Tip: Use @Bean when you cannot put @Component on a class.

Code Examples for @Configuration Classes

@Configuration Classes — working example

// Topic: @Configuration Classes
import org.springframework.web.bind.annotation.GetMapping;
import org.springframework.web.bind.annotation.RestController;

@RestController
class TopicController {
  @GetMapping("/api/topic")
  String topic() {
    return "Spring Boot: @Configuration Classes";
  }
}

@Configuration Classes: GET /api/topic returns this title string.

How to Explain @Configuration Classes to an Interviewer

What is @Configuration Classes (sb)?

Used for a short @Configuration Classes sb example a small REST app Not just the heading

Give one small example of @Configuration Classes (sb).

the smallest @Configuration Classes sb example you can type Java-based configuration instead of XML

What mistake do beginners make with @Configuration Classes (sb)?

only saying “@Configuration Classes sb” with no example Show the fix

Where do you use @Configuration Classes (sb)?

a small REST app a short @Configuration Classes sb example