Bird
Raised Fist0
Spring Bootframework~10 mins

@Configuration and @Bean in Spring Boot - Interactive Code Practice

Choose your learning style10 modes available
Practice - 5 Tasks
Answer the questions below
1fill in blank
easy

Complete the code to mark the class as a configuration class.

Spring Boot
@[1]
public class AppConfig {
}
Drag options to blanks, or click blank then click option'
AService
BComponent
CConfiguration
DRepository
Attempts:
3 left
💡 Hint
Common Mistakes
Using @Component instead of @Configuration
Forgetting the '@' symbol
Using unrelated annotations like @Service
2fill in blank
medium

Complete the code to define a bean method that returns a new instance of MyService.

Spring Boot
@Bean
public MyService [1]() {
    return new MyService();
}
Drag options to blanks, or click blank then click option'
AcreateService
BmyService
CserviceBean
DgetService
Attempts:
3 left
💡 Hint
Common Mistakes
Using invalid method names
Forgetting to add @Bean annotation
Returning null instead of new instance
3fill in blank
hard

Fix the error in the bean method declaration by completing the missing annotation.

Spring Boot
@[1]
public MyRepository [2]() {
    return new MyRepository();
}
Drag options to blanks, or click blank then click option'
A@Repository
B@Service
CmyRepository
D@Bean
Attempts:
3 left
💡 Hint
Common Mistakes
Using class-level annotations on methods
Omitting the @Bean annotation
Using @Component on methods instead of classes
4fill in blank
hard

Fill both blanks to complete the configuration class with a bean method.

Spring Boot
@[1]
public class ServiceConfig {
    @[2]
    public UserService userService() {
        return new UserService();
    }
}
Drag options to blanks, or click blank then click option'
AConfiguration
BComponent
CBean
DService
Attempts:
3 left
💡 Hint
Common Mistakes
Mixing up class and method annotations
Using @Component instead of @Configuration on class
Forgetting @Bean on method
5fill in blank
hard

Fill all three blanks to create a configuration class with two bean methods.

Spring Boot
@[1]
public class AppBeans {
    @[2]
    public ServiceA serviceA() {
        return new ServiceA();
    }

    @[3]
    public ServiceB serviceB() {
        return new ServiceB();
    }
}
Drag options to blanks, or click blank then click option'
AConfiguration
BBean
CComponent
DService
Attempts:
3 left
💡 Hint
Common Mistakes
Using @Component on class instead of @Configuration
Forgetting @Bean on one or both methods
Using @Service on methods

Practice

(1/5)
1. What is the main purpose of the @Configuration annotation in Spring Boot?
easy
A. To enable automatic component scanning
B. To mark a method that returns a bean instance
C. To mark a class as a source of bean definitions for the application context
D. To configure database connections automatically

Solution

  1. Step 1: Understand the role of @Configuration

    @Configuration tells Spring that this class contains methods to create beans.
  2. Step 2: Differentiate from other annotations

    @Bean marks methods, not classes; component scanning is done by @ComponentScan; database config is separate.
  3. Final Answer:

    To mark a class as a source of bean definitions for the application context -> Option C
  4. Quick Check:

    @Configuration = class for beans [OK]
Hint: Remember: @Configuration is for classes, @Bean is for methods [OK]
Common Mistakes:
  • Confusing @Configuration with @Bean
  • Thinking @Configuration enables scanning
  • Assuming it configures databases automatically
2. Which of the following is the correct way to define a bean method inside a @Configuration class?
easy
A. @Bean public MyBean myBean() { return new MyBean(); }
B. @Configuration public MyBean myBean() { return new MyBean(); }
C. public void createBean() { return new MyBean(); }
D. @Component public MyBean myBean() { return new MyBean(); }

Solution

  1. Step 1: Check method signature for bean creation

    Bean methods must be annotated with @Bean and return the bean object.
  2. Step 2: Verify syntax correctness

    @Bean public MyBean myBean() { return new MyBean(); } correctly uses @Bean and returns a new instance.
  3. Final Answer:

    @Bean public MyBean myBean() { return new MyBean(); } -> Option A
  4. Quick Check:

    @Bean + return bean instance = correct method [OK]
Hint: Bean methods need @Bean and must return the object [OK]
Common Mistakes:
  • Missing @Bean annotation
  • Using void return type
  • Using @Configuration on methods
3. Given the following code, what will be the output when retrieving the bean named "service" from the Spring context?
@Configuration
public class AppConfig {
  @Bean
  public String service() {
    return "MyService";
  }
}
medium
A. "service"
B. "MyService"
C. An exception is thrown
D. null

Solution

  1. Step 1: Identify the bean method and its return value

    The method named service returns the string "MyService" and is annotated with @Bean.
  2. Step 2: Understand bean retrieval by name

    Spring registers this bean with the name "service" and returns the method's return value when requested.
  3. Final Answer:

    "MyService" -> Option B
  4. Quick Check:

    Bean name returns method's return value [OK]
Hint: Bean name matches method name; returns method's return value [OK]
Common Mistakes:
  • Expecting bean name as output instead of return value
  • Thinking Spring returns null if no explicit name
  • Assuming exception without error in code
4. Identify the error in the following Spring configuration code:
@Configuration
public class Config {
  @Bean
  public void createBean() {
    // no return statement
  }
}
medium
A. Method must return an object, not void
B. Missing @Configuration annotation
C. Method name cannot be createBean
D. No error, code is correct

Solution

  1. Step 1: Check method return type for @Bean

    Bean methods must return the bean object; void return type is invalid.
  2. Step 2: Confirm annotations and method name

    @Configuration is present; method name can be anything; error is only return type.
  3. Final Answer:

    Method must return an object, not void -> Option A
  4. Quick Check:

    @Bean method needs return value, not void [OK]
Hint: Bean methods must return an object, never void [OK]
Common Mistakes:
  • Using void return type for @Bean methods
  • Confusing method name restrictions
  • Missing @Configuration annotation (not in this case)
5. You want to create two beans of the same type but with different configurations using @Bean methods inside a @Configuration class. How can you ensure Spring distinguishes between them when injecting?
hard
A. Define both beans in separate @Configuration classes only
B. Use @Primary on both methods
C. Use the same method name but different return types
D. Use different method names for each @Bean method

Solution

  1. Step 1: Understand bean naming in Spring

    By default, Spring uses the @Bean method name as the bean name to distinguish beans.
  2. Step 2: Differentiate beans of same type

    Using different method names creates distinct bean names, allowing injection by name or qualifier.
  3. Final Answer:

    Use different method names for each @Bean method -> Option D
  4. Quick Check:

    Different method names = different bean names [OK]
Hint: Different method names create distinct bean names automatically [OK]
Common Mistakes:
  • Using @Primary on both beans (conflicts)
  • Same method name with different return types (not allowed)
  • Thinking beans must be in separate classes
Recommended

Ready to prove it?

Pass the test and this pattern moves unknown strong while earning +1 Grip toward your certificate.

10 questions~5 mineasy hard