java bean spring_JavaBean和Spring bean傻傻分不清楚

JavaBean的定義可序列化

提供無參構造

提供getter/setter方法

疑問

在學習 Spring 的過程中發現很多 bean 對象并沒有實現 Serializable 接口或提供其他可序列化的操作。這種也叫 bean?或者 bean 也可以不提供序列化操作?

解決

stackoverflow 一番后,發現跟我有同樣疑惑的人還不少。

最終答案

用戶 keya 的回答如下:JavaBeans:

At a basic level, JavaBeans are simply Java classes which adhere to certain coding conventions. Specifically, classes thathave public default (no argument) constructors

allow access to their properties using accessor (getter and setter) methods

implement java.io.Serializable

Spring Beans:

A Spring bean is basically an object managed by Spring. More specifically, it is an object that is instantiated, configured and otherwise managed by a Spring Framework container. Spring beans are defined in Spring configuration files (or, more recently, with annotations), instantiated by Spring containers, and then injected into applications.

大致翻譯JavaBeans:

簡單來說,JavaBeans 只是遵循了特定編碼規范的 Java 類,即提供默認公有無參構造

提供 getter/setter 方法

實現java.io.Serializable接口

Spring Beans:

Spring bean 是由 Spring 管理的對象。具體來說,它是由 Spring Framework 容器實例化、配置和管理的對象。Spring beans 在 Spring 配置文件中定義(近來更多使用的是注解的方式實現),由 Spring 容器實例化,然后注入到應用程序中(博主理解,即DI)。

補充

答主 keya 還提到Note that Spring beans need not always be JavaBeans. Spring beans might not implement the java.io.Serializable interface, can have arguments in their constructors, etc.

This is the very basic difference between JavaBeans and Spring beans.

For more information, refer to the source of the above text, Shaun Abram’s article JavaBeans vs Spring beans vs POJOs.

大意:Spring beans 不一定是 JavaBeans。Spring beans 可以不實現java.io.Serializable接口,也可以提供有參構造等等。

Shaun Abram 的文章中主要有兩點補充:Spring beans 可以是 POJOs 嗎?可以是,并且通常是。也可以不是,比如Spring也可以用于EJB(簡單理解就是一種重量級Java對象)。

Spring beans 可以是 JavaBeans 嗎? 答案同樣,可以是,并且通常是。也可以不是。

最后,根據本人實測,Spring bean可以不實現java.io.Serializable接口

可以不提供構造方法

可以不提供getter/setter方法

即,Spring bean 和 JavaBean 沒有半毛錢關系。

本文來自互聯網用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務,不擁有所有權,不承擔相關法律責任。
如若轉載,請注明出處:http://www.pswp.cn/news/537964.shtml
繁體地址,請注明出處:http://hk.pswp.cn/news/537964.shtml
英文地址,請注明出處:http://en.pswp.cn/news/537964.shtml

如若內容造成侵權/違法違規/事實不符,請聯系多彩編程網進行投訴反饋email:809451989@qq.com,一經查實,立即刪除!

相關文章

WPF Image Source 設置相對路徑圖片

原文:WPF Image Source 設置相對路徑圖片BitmapImage bt new BitmapImage(new Uri("Images\\3_u10484.png", UriKind.Relative));this.Img1.Source bt;

PowerDesigner V16.5 安裝教程以及漢化(數據庫建模)

原文地址:https://blog.csdn.net/tgbyn/article/details/72809116 ----------------------------------------------------------------------一、power designer是什么以及是干什么的? power designer是能進行數據庫設計的強大的軟件,是一款…

python調用jar字典類型_LWPCookieJar的使用-將requests存儲的cookie轉換成字典

LWPCookieJar是python中管理cookie的工具,可以將cookie保存到文件,或者在文件中讀取cookie數據到程序寫入cookie到文件from cookielib import LWPCookieJarcj LWPCookieJar()cj.set_cookie(cookielib.Cookie(version0,names_cookie[name],values_cookie…

常用的數字正則匹配

1. 數字 ^[0-9]*$2. 1-60之間的整數 /^([1-5][0-9]$)|(^[6][0]$)|(^[1-9])$/ 3. 0-60的數字,可以精確到小數點后2位 /^(([0-5][0-9])|[0-9]|60|(([0-9]\.\d{1,2}|[1-5][0-9]\.\d{1,2})))$/ 4. 0-1000000的整數  /^(?!00)(?:[0-9]{1,7}|1000000)$/5. 5-10000…

nginx 代理多個服務器——多個server方式

原文鏈接:https://blog.csdn.net/wild46cat/article/details/52997005 ------------------------------------------------------------- 配置文件下載地址:https://download.csdn.net/download/zengmingen/10462400nginx 代理多個服務器——多個server方…

sc openscmanager 失敗 5 mysql_如何增加windows服務

我以前也出現過你這個問題,用優化大師給刪了吧,后來也是重裝的,其實說是重裝也不是重裝,就是修復啦,如果你不想這樣,那可以試試這個,我沒試過用在mysql上,但別的到是用他加載過。讓程…

TemplatePart用法說明

原文:TemplatePart用法說明TemplatePart(Name"PART_Decrease", Typetypeof(RepeatButton)) 一直沒明白這是干嘛用的,搜了一下,記載一下。 以Button的定義為例: namespace System.Windows.Controls {// Summary:// Represents a…

nginx配置多個站點共用80端口

原文鏈接:https://blog.csdn.net/zhezhebie/article/details/73459874 --------------------------------------------- 配置文件下載地址:https://download.csdn.net/download/zengmingen/10462400共用80端口的,要server_name不同。如果用域…

兩點間最短路 java_AcWing 850. Dijkstra求最短路 II_Java實現含詳細注釋

import java.io.*;import java.util.Arrays;import java.util.Comparator;import java.util.PriorityQueue;public class Main {static final int N 150010;static int n, m; //結點數,邊數static int[] h, e, ne, w; //鄰接表適合表示稀疏圖,w用來存每個邊權重sta…

SQL Server如何鏈接到 Oracle并查詢其中的數據?并實現做接口

今天用Oracle的驅動教大家如何從SQL Server鏈接到Oracle. 1. 服務器上需要安裝Oracle 64位的客戶端或者服務端,安裝過程就省略了。不會的同學可以網上搜索一下安裝方法,很詳細,這里不贅述。 安裝完成后SQL Server的訪問接口上會新增”OraOLE…

Tomcat 內存調大

第一種方法:Windows下,在文件/bin/catalina.bat,Unix下,在文件/bin/catalina.sh的前面,增加如下設置:JAVA_OPTS-Xms【初始化內存大小】 -Xmx【可以使用的最大內存】需要把這個兩個參數值調大。例如&#xf…

java spring bean配置文件_Spring基于xml文件配置Bean過程詳解

這篇文章主要介紹了spring基于xml文件配置Bean過程詳解,文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友可以參考下通過全類名來配置:class:bean的全類名,通過反射的方式在IOC容器中創建B…

win10升級后chrome碰到對話框就卡死

低版本的 chrome 會出現這樣的問題 解決方法: 設置-------高級設置-----取消硬件加速

客戶端SDK測試思路

本文來自網易云社區作者:萬春艷是什么客戶端SDK是為第三方開發者提供的軟件開發工具包,包括SDK接口、開發文檔和Demo示例等。SDK和應用之間是什么關系呢?以云信即時消息服務為例,如下圖所示,應用客戶端通過調用云信SDK…

nginx could not build the server_names_hash 解決方法

原文地址:http://www.jb51.net/article/26412.htm ------------------------------------------------------- nginx “nginx could not build the server_names_hash”解決方法 給一個服務器下增加了一些站點別名,差不多有20多個。 重啟nginx時候&#…

java 使用fusioncharts_fusioncharts同一頁面顯示2個儀表盤,且以java字符串作為xml數據...

fusioncharts同一頁面顯示2個儀表盤,且以java字符串作為xml數據String path request.getContextPath();%>String xml "";%>FusionCharts - Multiple Charts on one Pagevar contextpath "";var xml ;body {font-family: Arial, Helve…

排名前16的Java工具類

原文:https://www.jianshu.com/p/9e937d178203 在Java中,工具類定義了一組公共方法,這篇文章將介紹Java中使用最頻繁及最通用的Java工具類。以下工具類、方法按使用流行度排名,參考數據來源于Github上隨機選取的5萬個開源項目源碼…

VS2012(Visual Studio 2012)官方免費中文旗艦版下載(含激活密鑰)

原文路徑:http://www.nocang.com/visual-studio-ultimate-2012/ vs2012旗艦版安裝激活教程 1、下載到的是ISO格式文件,直接解壓縮或用虛擬光驅加載運行;2、無所不藏推薦直接解壓縮安裝即可,雙擊“vs_ultimate.exe”進行安裝&#…

magic square java_測試Magic Square Java的.txt文件

我不想問,但我無法弄清楚這個任務,當我尋求幫助時,助教也不會。我必須從文本文件中獲取輸入,將文件中的整數輸入到數組列表中,然后測試它是否是anxn幻方。n等于數組列表長度的平方根。如果不是理想的正方形&#xff0c…

字符串拼串 能緩解我們的開發難度→!←(ε=(′ο`*)))唉,又是一個不知道該怎么寫題目的隨筆啊,頭疼)...

簡單描述:今天看我同事提交的代碼,發現一個東西,讓我有了一點小想法,是這樣的,他利用一個‘’無關緊要‘’的標簽屬性,(哈哈哈,也不能說人家是無關緊要的屬性了,暫時是無關緊要的屬性…