我对Spring MVC很陌生,对Java中的Java Bean使用也有些了解。
Java Bean 和 Spring Bean 的基本区别是什么?
我对Spring MVC很陌生,对Java中的Java Bean使用也有些了解。
Java Bean 和 Spring Bean 的基本区别是什么?
JavaBeans基本上是遵循特定编码规范的Java类。具体来说,这些类:
java.io.Serializable
Spring Beans:
Spring Bean基本上是由Spring管理的对象。更具体地说,它是一个由Spring Framework容器实例化、配置和管理的对象。 Spring Bean在Spring配置文件中定义(或者最近使用注释),由Spring容器实例化,然后注入到应用程序中。
请注意,Spring Bean不一定总是JavaBean。Spring Bean可能没有实现java.io.Serializable
接口,可以在其构造函数中具有参数等。
这是JavaBeans和Spring Beans之间非常基本的区别。
有关详细信息,请参阅上述文本来源 Shaun Abram 的文章JavaBeans vs Spring beans vs POJOs。
Java Bean是一个类,应遵循以下规则:
1.必须实现Serializable接口。 2.它应该有一个公共无参构造函数。 3.Java Bean中的所有属性都必须是私有的,并且具有公共的getter和setter方法。
Spring Bean是您应用程序的主干对象,由Spring IoC容器管理。
Java Bean 和 Spring Bean 之间的关系比差异更大。
要将 Java 类用作 Java Bean,其 setter 和 getter 方法名称需要符合 JavaBean 指南(也称为设计模式)的属性。如果这样的 Java 类可以通过 Spring IoC 容器进行实例化和管理,则它是一个 Spring Bean。为了实现这一点,程序员使用 XML 配置文件或注释或两者混合将该类作为适当范围的 Bean 定义进行连接。程序员可以通过将后者作为字符串名称的 <idref>
元素或通过依赖注入(可以是递归的)将其传递给前者的构造函数参数来从现有的 Spring Bean 创建新的 Spring Bean。
这个答案可以与我的this SO回答一起阅读,以获取更多的背景信息。
Spring Bean:
作为 Spring 应用程序的一部分开发的类。其生命周期由 Spring 容器管理,称为 Spring Bean。