Spring中@Component和@Bean的區別

1、@Component注解表明一個類會作為組件類,并告知Spring要為這個類創建bean。

2、@Bean注解告訴Spring這個方法將會返回一個對象,這個對象要注冊為Spring應用上下文中的bean。通常方法體中包含了最終產生bean實例的邏輯。

兩者的目的是一樣的,都是注冊bean到Spring容器中。

區別:

@Component(@Controller、@Service、@Repository)通常是通過類路徑掃描來自動偵測以及自動裝配到Spring容器中。

而@Bean注解通常是我們在標有該注解的方法中定義產生這個bean的邏輯。

@Component 作用于類,@Bean作用于方法。

總結:

@Component和@Bean都是用來注冊Bean并裝配到Spring容器中,但是Bean比Component的自定義性更強。可以實現一些Component實現不了的自定義加載類。

來源:知乎

最后編輯于
?著作權歸作者所有,轉載或內容合作請聯系作者
平臺聲明:文章內容(如有圖片或視頻亦包括在內)由作者上傳并發布,文章內容僅代表作者本人觀點,簡書系信息發布平臺,僅提供信息存儲服務。