當前位置:首頁 » 數據倉庫 » 配置類和bean類有什麼不同嗎
擴展閱讀
webinf下怎麼引入js 2023-08-31 21:54:13
堡壘機怎麼打開web 2023-08-31 21:54:11

配置類和bean類有什麼不同嗎

發布時間: 2023-02-05 05:51:08

1. Spring @Configuration 和 @Component 區別

1.@Configuration 和 @Component 區別

我們可以看下,其實@Configuration 本質其實是 @Component註解的,因此  <context:component-scan>和@ComponentScan都能處理@Configuration 類

被@Configuration 標記的類必須符合下面幾點要求

1.配置類必須是要以類的形式提供,不能是工廠返回的實例,允許生成子類在運行是增強cglib動態代理

2配置類不能是fanl 修飾,不能是匿名類( 任何嵌套的類必須是非本地, 既不能在方法中聲明,不能是privater),嵌套的configruation必須是靜態類

3.@Bean 方法可能不會返過來創建進一步的配置類 意思就是返回的bean 帶有@Configuration.也只是當作普通類來處理。

原理分析待續····························

2.@Configuration 和 @bean

這里@Configuration可以看作是用spring的時候xml裡面的<beans>標簽

@Bean可以理解為用spring 的時候裡面<bean>標簽

這兩個註解是spring 裡面的,並不是spring boot裡面的

在spring xml 這種形式的項目的時候 後面都要加上<context:component-scan base-package="com.xxx.xxx"> ,有時候好多註解不起作用, 可能就是這個註解。而在spring boot裡面就不一樣了, 只要保證main方法的入口在這些的列的上層包就行

2. javabean與普通類有什麼區別嗎

javabean是對面向對象思想的一種具體實施的表現,本質就是組件化,模塊化。把復雜的系統拆成若干個小的模塊,就像零件一樣,需要時在按照系統架構對他進行拼接,滿足於一個功能需求而特別獨立出來的java類,具體表現提供若干個公開的構造方法,以及對類中的欄位,遵照javabean規范提供相應的set和get方法。

廣義上來說,所有的類都可以被稱做javabean,因為都是根據一個特定的功能需求而獨立出來的java類

3. spring 自動裝配 和配置bean的區別

spring IoC容器可以自動裝配(autowire)相互協作bean之間的關聯關系。因此,如果可能的話,可以自 動讓Spring通過檢查BeanFactory中的內容,來替我們指定bean的協作者(其他被依賴的bean)。由於 autowire可以針對單個bean進行設置

4. JAVA BEAN和CLASS的區別

JavaBean和class的區別:JavaBean只是比class多一些限制條件,其他無區別。

JavaBean實質也是一個類,這個類遵循:

  1. 類必須是具體的和公共的。

  2. 具有無參數的構造器。

  3. 通過提供符合一致性設計模式的公共方法將內部域暴露成員屬性(即getters和setters)。

  4. 實現java.io.Serializable介面(這個目前是默認實現的,不需要特殊申明)。

例如以下為一個簡單的JavaBean:

packagecom.test;

importjava.lang.*;

publicclassJavaBean{
privateStringattr;

publicJavaBean(){
//無參構造函數
}

//setter
publicvoidsetAttr(Stringstr){
attr=str;
}

//getter
publicStringgetAttr(){
returnattr;
}
}