新聞中心
在日常開發(fā)中還有一些類經(jīng)常被人叫做POJO,還有的人叫它們Java Bean。這些概念都是在特定場景下引入,用來表明它們的特性的。那這些稱呼都是啥意思,有啥標(biāo)準(zhǔn)和特征呢?今天就來分享一下這些沒用的知識。

網(wǎng)站建設(shè)、成都網(wǎng)站設(shè)計的關(guān)注點不是能為您做些什么網(wǎng)站,而是怎么做網(wǎng)站,有沒有做好網(wǎng)站,給創(chuàng)新互聯(lián)公司一個展示的機會來證明自己,這并不會花費您太多時間,或許會給您帶來新的靈感和驚喜。面向用戶友好,注重用戶體驗,一切以用戶為中心。
POJO
POJO是 Plain Old Java Object 的簡寫,大概意思就是“淳樸的Java對象”。這個詞是國外一家外包公司的員工創(chuàng)造的。哪些類是POJO類還是有說法的,需要同時滿足以下幾個條件:
- 不實現(xiàn)任何接口的類。
- 不繼承任何其它類的類。
- 不使用任何外部注解的類。
這種類其實就是切斷了和外界聯(lián)系的Java類,下面這個類肯定不是:
@Data
public class Dog {
private String name;
private Integer age;
}
這個才是POJO:
public class Dog {
private String name;
private Integer age;
}Java Bean
Java Bean也經(jīng)常出現(xiàn)在各種技術(shù)文獻中,也不是隨便什么類都能叫做Java Bean的,它需要有以下定義:
- 有無參數(shù)構(gòu)造。
- 所有的屬性必須是私有屬性(private)。
- 所有的屬性必須有公共的(public?)的Getter和Setter。
- 它必須是可以被序列化的,也就是實現(xiàn)java.io.Serializable接口。
按照這個定義,POJO類如果想成為Java Bean,需要改造成下面的形式:
import java.io.Serializable;
/**
* @author felord.cn
*/
public class Dog implements Serializable {
private static final long serialVersionUID = 6723564465081191620L;
private String name;
private Integer age;
public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
public Integer getAge() {
return age;
}
public void setAge(Integer age) {
this.age = age;
}
}
Spring Bean
既然說到這里了,不妨再說下Spring Bean。Spring Bean的要求就低多了,只要這個類(接口)被注入了Spring IoC,那么這個類(接口)都可以被稱作一個Spring Bean。至于一個類如何注入Spring IoC,這里就不說了,大家天天都在做。
最后
最后,我們可以得出結(jié)論,一個POJO總是孤孤單單的,它不可能成為一個Java Bean或者Spring Bean;但是Java Bean可以同時是一個Spring Bean;Spring Bean也可以是一個Java Bean。
新聞標(biāo)題:POJO、JavaBean是如何定義的
本文路徑:http://www.fisionsoft.com.cn/article/djgojio.html


咨詢
建站咨詢
