當前位置:編程學習大全網 - 編程語言 - 什麽是spring beans

什麽是spring beans

最好?JavaBean, Spring bean 和 POJO 壹起來討論

JavaBean, Spring bean 和 POJO 是三個被廣泛使用的術語,我們來看看它們的含義,以及分析三者的區別。

JavaBeans

根本而言,JavaBean只是遵循了特定編碼規範的Java類而已。例如:

包含默認(無參數)的構造函數

允許通過訪問器(getter和setter方法)來訪問類的成員屬性

實現java.io.Serializable接口

準確來說,JavaBean是遵循了Sun制定的JavaBean 標準的類,該標準最早於1996年發布。JavaBean被定義為Java的“軟件組件模型”。最初的想法是將JavaBean打造成能夠被構建工具可視化地操作的可重用的組件,由此,軟件供應商可以創建和出售能夠讓用戶靈活地組合進應用程序的JavaBean。JavaBean的三個最重要的特性是:

它暴露的壹系列屬性(稱之為“特征“attribute)

它允許其他組件調用的壹系列方法

它觸發的壹系列事件(用來通知它註冊了的監聽器)

POJO

POJO是 Plain Old Java Object(簡單的Java對象)的縮寫。它最初是由Martin Fowler等人創造的,作為壹種花式的對普通Java對象的稱呼。這類對象不需要通過框架來使用,也不需要在特定應用服務器的環境下才能運行。這個詞主要用來區分簡單、輕量的Java對象和“重量級“的類,例如EJB。《POJOs in Action》壹書介紹了使用這類輕量的對象來進行開發的方法,許多框架-例如Spring-也推廣了POJO的使用。

Spring beans

Spring bean 表示受到Spring管理的對象。具體說來,它是被Spring框架容器初始化、配置和管理的對象。Spring bean是在Spring的配置文件中定義(現在也可以通過annotation註解來定義),在Spring容器中初始化,然後註入到應用程序中的。

因為在最早的版本中,Spring是被設計用來管理JavaBean的,所以Spring管理的對象會被稱為“bean”。當然,現在Spring已經可以管理任何對象,即使它不具備默認構造器和設置方法(getter和setter)這些JavaBean的特性。然而,”Spring bean“這個術語仍然被保存了下來。

Spring bean可以是POJO嗎?當然可以,並且它通常就是。(即使它並不壹定得是POJO,例如Spring可以用來處理重量級Java對象,比如EJB對象)。

總結

雖然距離JavaBean規範的發表已經過了十多年,這個規範仍然有重要的作用,並且影響著現代框架–如Spring–的開發。然而,雖然我們仍然可以稱這些包含默認構造器和私有字段的訪問方法的類為JavaBean,它的“可以被構建工具可視化地管理的可重用組件”的概念已經不再流行了。

而另壹方面,POJO已經無處不在了,人們對EJB的復雜性的積怨使得“輕量的”Java編程獲得了廣泛采用。

Spring bean是由Spring框架創建和管理的對象。

這三個概念並不是互斥的。壹個Java對象可以同時是JavaBean,POJO和Spring bean。

  • 上一篇:Android和h5後臺界面有區別嗎?
  • 下一篇:如何用matlab生成正弦信號?怎麽對其采樣?怎麽得到采樣值?
  • copyright 2024編程學習大全網