Bird
Raised Fist0
Spring Bootframework~10 mins

Bean concept in Spring 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 declare a Spring bean using annotation.

Spring Boot
@Configuration
public class AppConfig {
    @Bean
    public MyService [1]() {
        return new MyService();
    }
}
Drag options to blanks, or click blank then click option'
AcreateService
BserviceBean
CmyService
DgetService
Attempts:
3 left
💡 Hint
Common Mistakes
Using method names that do not follow Java naming conventions.
Forgetting to annotate the method with @Bean.
2fill in blank
medium

Complete the code to inject a bean into a Spring component using annotation.

Spring Boot
@Component
public class UserController {
    private final UserService userService;

    public UserController([1] UserService userService) {
        this.userService = userService;
    }
}
Drag options to blanks, or click blank then click option'
A@Autowired
B@Inject
C@Qualifier
D@Resource
Attempts:
3 left
💡 Hint
Common Mistakes
Using @Qualifier without specifying a bean name.
Forgetting to annotate the constructor parameter.
3fill in blank
hard

Fix the error in the bean scope declaration.

Spring Boot
@Bean
@Scope([1])
public SessionBean sessionBean() {
    return new SessionBean();
}
Drag options to blanks, or click blank then click option'
A"prototype"
B"session"
C"singleton"
D"request"
Attempts:
3 left
💡 Hint
Common Mistakes
Using "singleton" scope for session-specific beans.
Forgetting to import the correct Scope annotation.
4fill in blank
hard

Fill both blanks to create a bean with a custom name and prototype scope.

Spring Boot
@Bean(name = "[1]")
@Scope("[2]")
public ProductService [3]() {
    return new ProductService();
}
Drag options to blanks, or click blank then click option'
AcustomProductService
Bsingleton
Cprototype
DproductService
Attempts:
3 left
💡 Hint
Common Mistakes
Mixing up the bean name and method name.
Using singleton scope instead of prototype.
5fill in blank
hard

Fill all three blanks to define a bean with lazy initialization, singleton scope, and a qualifier.

Spring Boot
@Bean
@Lazy([1])
@Scope("[2]")
@Qualifier("[3]")
public NotificationService notificationService() {
    return new NotificationService();
}
Drag options to blanks, or click blank then click option'
Atrue
Bfalse
Csingleton
DemailService
Attempts:
3 left
💡 Hint
Common Mistakes
Setting lazy to false when lazy initialization is desired.
Using incorrect qualifier names.

Practice

(1/5)
1. What is a Bean in the Spring framework?
easy
A. A type of Java exception
B. A database connection
C. An object managed by the Spring container
D. A user interface component

Solution

  1. Step 1: Understand Spring's role

    Spring manages objects to help organize and connect parts of an application.
  2. Step 2: Define what a Bean is

    A Bean is any object that Spring creates and manages in its container.
  3. Final Answer:

    An object managed by the Spring container -> Option C
  4. Quick Check:

    Bean = Managed object [OK]
Hint: Beans are Spring-managed objects, not UI or exceptions [OK]
Common Mistakes:
  • Confusing beans with database connections
  • Thinking beans are UI elements
  • Assuming beans are exceptions
2. Which annotation is used to declare a class as a Spring Bean?
easy
A. @Qualifier
B. @Component
C. @Autowired
D. @RequestMapping

Solution

  1. Step 1: Identify annotations for beans

    @Component marks a class as a Spring-managed bean.
  2. Step 2: Differentiate from other annotations

    @Qualifier specifies which bean to inject, @Autowired injects beans, @RequestMapping maps web requests.
  3. Final Answer:

    @Component -> Option B
  4. Quick Check:

    @Component = Bean declaration [OK]
Hint: Use @Component to declare beans; others serve different roles [OK]
Common Mistakes:
  • Confusing @Autowired with bean declaration
  • Using @RequestMapping for beans
  • Thinking @Qualifier declares beans
3. Given the code below, what will be printed (assuming the @Autowired field and System.out.println are inside a Spring-managed class)?
@Component
public class MyBean {
  public String greet() { return "Hello Spring"; }
}

@Autowired
MyBean myBean;

System.out.println(myBean.greet());
medium
A. Hello Spring
B. null
C. Compilation error
D. No output

Solution

  1. Step 1: Understand @Component and @Autowired

    @Component creates the bean, @Autowired injects it into the field.
  2. Step 2: Check method call output

    Calling greet() returns "Hello Spring", so it prints that string.
  3. Final Answer:

    Hello Spring -> Option A
  4. Quick Check:

    Injected bean method returns greeting [OK]
Hint: Autowired injects bean; method returns greeting string [OK]
Common Mistakes:
  • Assuming null because of missing initialization
  • Thinking it causes compile error
  • Expecting no output without System.out.println
4. What is wrong with this Spring bean declaration?
@Component
public class MyService {
  @Autowired
  private MyRepository repo;

  public void doWork() {
    repo.save();
  }
}

Assuming MyRepository is not annotated as a bean.
medium
A. No @Autowired on MyService class
B. Missing @Service annotation on MyService
C. Method doWork() should return a value
D. MyRepository is not a Spring bean, so injection fails

Solution

  1. Step 1: Check bean injection requirements

    Spring can only inject beans that are managed by the container.
  2. Step 2: Identify missing bean annotation

    MyRepository lacks @Component or similar, so Spring cannot inject it.
  3. Final Answer:

    MyRepository is not a Spring bean, so injection fails -> Option D
  4. Quick Check:

    Injection requires bean annotation [OK]
Hint: Injected classes must be beans too [OK]
Common Mistakes:
  • Thinking @Service is mandatory for injection
  • Assuming method must return value
  • Confusing @Autowired placement
5. You want to create a bean that returns a customized object. Which method correctly defines a bean using Java configuration?
hard
A. @Bean public MyBean myBean() { return new MyBean("custom"); }
B. @Component public MyBean myBean() { return new MyBean("custom"); }
C. public MyBean myBean() { return new MyBean("custom"); }
D. @Autowired public MyBean myBean() { return new MyBean("custom"); }

Solution

  1. Step 1: Understand @Bean usage

    @Bean annotation on a method inside a @Configuration class defines a bean returned by that method.
  2. Step 2: Differentiate from other annotations

    @Component is for classes, not methods; @Autowired injects dependencies, not defines beans.
  3. Final Answer:

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

    @Bean method returns custom bean [OK]
Hint: Use @Bean on methods inside @Configuration classes [OK]
Common Mistakes:
  • Using @Component on methods instead of classes
  • Omitting @Bean annotation
  • Confusing @Autowired with bean creation
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