Câu hỏi phỏng vấn Spring
Câu hỏi

Compare @Component (v2....

Câu trả lời

When comparing @Component (introduced in Spring 2.5) with @Bean (introduced in Spring 3.0), it's important to understand that both annotations are used to define beans in the Spring context, but they serve different purposes and are used in different scenarios.

@Component is a class-level annotation that tells Spring that a class is a Spring component. When you annotate a class with @Component, Spring will automatically detect and register it as a bean during the classpath scanning. This is particularly useful for auto-detecting and auto-configuring beans without having to write explicit configuration. There are also specialized versions of @Component such as @Service, @Repository, and @Controller, which are used for service-layer classes, data access layer classes, and controller classes, respectively[1][2].

On the other hand, @Bean is a method-level annotation used within classes annotated with @Configuration. It indicates that a method instantiates, configures, and initializes a new object to be managed by the Spring IoC container. @Bean is used for explicit bean registration when you need more control over the bean instantiation process. For example, when you want to create third-party classes as beans or when you need to perform some additional configuration that cannot be done with classpath scanning and auto-detection[1].

In summary, @Component is used for auto-detection of bean definitions, while @Bean is ...

senior

senior

Gợi ý câu hỏi phỏng vấn

senior

What are inner beans in Spring?

junior

What are ORM's Spring supports?

middle

What are the differences between @RequestParam and @PathVariable?

Bình luận

Chưa có bình luận nào

Chưa có bình luận nào