1. 程式人生 > >JavaBean是什麼,POJO是什麼

JavaBean是什麼,POJO是什麼

參考:https://stackoverflow.com/questions/3295496/what-is-a-javabean-exactly

   https://stackoverflow.com/questions/12517905/what-is-java-pojo-class-java-bean-normal-class

           https://www.geeksforgeeks.org/pojo-vs-java-beans/

JavaBean僅僅是一個標準

  1. 所有的資料項都是private的(使用getter/setter進行設定)

  2. 一個public的無參建構函式

  3. implements Serializable介面

JavaBean和我們通常寫的Class沒有什麼本質區別,你寫的Class如果複合上面的規範,那麼它就是一個JavaBean。

既然和一般的Class沒有什麼特殊區別,為什麼要專門定義這麼一個術語呢?因為符合JavaBean規範的類會給許多類庫的實現帶來便利。例如只要我們自己的類是一個JavaBean,那麼類庫就可以直接對其進行stream處理。

Spring其實不要求我們實現的類符合JavaBean規範,只要這個類是一個POJO(沒有繼承預定義類的類,沒有實現預定義介面的類,沒有新增預定義註釋的類),就可以成為一個Spring元件。