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.mzph.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…

字符串拼串 能缓解我们的开发难度→!←(ε=(´ο`*)))唉,又是一个不知道该怎么写题目的随笔啊,头疼)...

简单描述:今天看我同事提交的代码,发现一个东西,让我有了一点小想法,是这样的,他利用一个‘’无关紧要‘’的标签属性,(哈哈哈,也不能说人家是无关紧要的属性了,暂时是无关紧要的属性…