我认为“Bean”是一个具有属性和Getter/Setter的Java类。据我所知,它相当于C语言中的结构体。这是真的吗?
此外,JavaBean与普通类之间是否存在真正的语法区别?
是否有特殊的定义或接口?
基本上,为什么会有这个术语?
另外,“Serializable”接口是什么意思?
我认为“Bean”是一个具有属性和Getter/Setter的Java类。据我所知,它相当于C语言中的结构体。这是真的吗?
此外,JavaBean与普通类之间是否存在真正的语法区别?
是否有特殊的定义或接口?
基本上,为什么会有这个术语?
另外,“Serializable”接口是什么意思?
实际上,Beans只是方便使用的对象。将它们序列化意味着能够轻松地持久化它们(以易于恢复的形式存储)。
Beans在现实世界中的典型用途:
因此,实际上,Beans只是一种期望从Java对象中获得某些行为(序列化)并以某种方式更改它们(属性的setter)的约定/标准。
如何使用它们只是你的发明,但我列举了最常见的情况。
Spring的@Bean注解表示一个方法生产出一个由Spring容器管理的bean。
更多参考:https://www.concretepage.com/spring-5/spring-bean-annotation
Java Bean是JavaBeans架构中的一个组件或基本构建块。 JavaBeans架构是一种组件架构,它从组件化方法的可重用性和互操作性中获益。
有效的组件架构应允许程序从软件构建块(在此情况下为Bean)组装,在可能由不同供应商提供,并使架构师/开发人员能够选择组件(Bean),了解其功能,并将其合并到应用程序中。
由于类/对象是像Java这样的面向对象编程语言的基本构建块,因此它们自然会成为JavaBeans架构中Bean的竞争者。
将普通Java类转换为Java bean的过程实际上只是使其成为可重用和互操作的组件。 这将转化为Java类具有以下功能:
控制一个类的属性、事件和方法,使其对另一个应用程序可用。(您可以拥有一个BeanInfo类,仅报告外部应用程序所需的属性、事件和方法。)