POJO(Plain Old Java Object)
很單純的只有
- private屬性
- getter setter
- 不繼承不implement介面也不包含@annotation
不過實際上專案常使用的是 POJO-compliant
也就是容許包含@annotation
JavaBeans
也是一種POJO
不過多了
- serializable
- 無參數的constructor
–> 能夠讓framework實體化,
也因此AOP可以增加cross-cutting concern像是persistence, transactions, security…
所以像Spring就可以注入物件,單純透過XML的設定,而BEAN就能夠維持Pure的POJO,
不過有些人會覺得XML難以維護且冗餘,因此像新版的Spring也提供了@annotation,不過這樣就會汙染了Pure的POJO。
使用 XM L注入或是 @annotation 注入都有人擁護,就看各專案的需求囉!
附註:
EJB:
Java EE中的概念,其實就是一般class,
其實就是包含業務邏輯的JavaBeans,
比方說Spring,前端會透過API打進來,Spring會有一層Controller接收打進來的參數,PARSE過後在丟到不同的邏輯層去做處理,而這邊的邏輯層就可以稱做EJB
JPA
Reference
https://stackoverflow.com/a/1612671
https://en.wikipedia.org/wiki/Plain_old_Java_object
https://blog.csdn.net/qq_19865749/article/details/75648083