豆子有什么意义?

我正在做一些JSP教程,我不明白bean类的意义。 它只是获取和设置方法。 我们为什么要用它们?

public class UserData { String username; String email; int age; public void setUsername( String value ) { username = value; } public void setEmail( String value ) { email = value; } public void setAge( int value ) { age = value; } public String getUsername() { return username; } public String getEmail() { return email; } public int getAge() { return age; } 

}

而jsp是

    You entered
Name:
Email:
Age:

  1. Bean获得了Java“一次编写,随处运行”范例的所有好处。 可以控制公开给应用程序构建器工具的Bean的属性,事件和方法。

  2. Bean可以设计为在不同的区域中正确运行,这使其在全球市场中有用。

  3. 可以提供辅助软件来帮助人配置Bean。 只有在设置该组件的设计时参数时才需要该软件。 它不需要包含在运行时环境中。 Bean的配置设置可以保存在持久存储中,并在以后恢复。

  4. Bean可以注册以从其他对象接收事件,并且可以生成发送到其他对象的事件。

    • Bean的优点

十多年前,自从taglib(如JSTL )和EL( 表达语言 ,那些${}事物)诞生以来,使用scriptlet (那些<% %>事物)确实非常气馁。 scriptlet的主要缺点是:

  1. 可重用性:您无法重用scriptlet。

  2. 可替换性:您不能使scriptlet抽象化。

  3. OO-ability:你不能利用inheritance/组合。

  4. 可调试性:如果scriptlet中途抛出一个exception,你得到的只是一个空白页面。

  5. 可测试性:scriptlet不是可unit testing的。

  6. 可维护性:每个saldo需要更多时间来维护混杂/混乱/重复的代码逻辑。

    • 检查整体… BalusC的答案在这里

JavaBeans的主要原因是可重用性 。 JavaBeans可用于JSP,Servlet和其他Java技术。

它是一个简单的可序列化对象,用于将许多对象封装成一个。 也就是说,我们可以发送一个完全定义的bean,以便通过线路单独发送每个属性。

存取器(getter)和mutator(setter)方法通常用于提供封装。 由于实例变量是私有的,因此只能通过这些方法在类外部访问它们。

所以在外行中:在不破坏使用代码的其他代码的情况下,在实现代码中进行更改的能力是封装的关键优势

我正在阅读JavaFX属性和绑定那里我几乎意味着JavaBeans这里是段落。

Java编程语言可以将数据封装在对象中,但它不会为您定义的方法强制执行任何特定的命名约定。 例如,您的代码可能会定义一个Person类,它封装了名字和姓氏。 但是如果没有命名约定,不同的程序员可能会为这些方法选择不同的名称:read_first(),firstName(),getFN()等都是完全有效的选择。 但是,无法保证这些名称对其他开发人员有意义。

JavaBeans组件体系结构通过定义一些简单的命名约定来解决此问题,这些约定可以跨项目实现一致性。 在JavaBeans编程中,这些方法的完整签名包括:public void setFirstName(String name),public String getFirstName(),public void setLastName(String name)和public String getLastName()。 对于人类程序员和编辑工具(如NetBeans IDE),这种命名模式很容易识别。 在JavaBeans术语中,Person对象被称为包含firstName和lastName属性。

JavaBeans模型还提供对复杂属性类型的支持,以及事件传递系统。 它还包含许多支持类,所有支持类都可以作为java.beans包下的API使用。 因此,掌握JavaBeans编程涉及学习所需的命名约定及其相应的API。 (有关JavaBeans的更多背景知识,请参阅Java教程的JavaBeans课程)。

你可以拥有没有bean的JSP,但结果是,处理逻辑的代码和处理网站美观的代码都会混乱。 这并不理想,特别是因为在大多数情况下,一群人编码逻辑而另一群人负责美学,因此豆子允许一定程度的分离,这使得建立网站的人们的生活更加轻松。

Bean还允许您重用代码,这是您应该使用它们的另一个原因。

它主要用于REUSABILTY。 它是一个简单的可序列化对象,用于将许多对象封装成一个。