JavaBeans - класи в мові Java, написані за певними правилами. Вони використовуються для об'єднання кількох об'єктів в один (англ. Bean - квасоля, кавове зерно) для зручної передачі даних.
Специфікація Sun Microsystems визначає JavaBeans як придатні для повторного використання програмні компоненти, якими можна управляти, використовуючи графічні конструктори і засоби IDE.
JavaBeans забезпечують основу для багаторазово використовуваних, вбудованих і модульних компонентів ПЗ. Компоненти JavaBeans можуть приймати різні форми, але найбільш широко вони застосовуються в елементах графічного інтерфейсу. Одна з цілей створення JavaBeans - взаємодія зі схожими компонентними структурами. Наприклад, Windows-програма, при наявності відповідного моста або об'єкта-обгортки, може використовувати компонент JavaBeans так, нібито він є компонентом COM або ActiveX.
Правила опису Java Bean
Щоб клас міг працювати як bean, він повинен відповідати певним угодам про імена методів, конструктор і поведінку. Ці угоди дають можливість створення інструментів, які можуть використовувати, заміщати і з'єднувати JavaBeans.
Правила опису свідчать:
Клас повинен мати конструктор без параметрів, з модифікатором доступу public. Такий конструктор дозволяє інструментам створити об'єкт без додаткових складнощів з параметрами.
Властивості класу повинні бути доступні через get, set і інші методи (так звані методи доступу), які повинні підкорятися стандарту про імена. Це легко дозволяє інструментам автоматично визначати і оновлювати зміст bean'ів. Багато інструментів навіть мають спеціалізовані редактори для різних типів властивостей.
Клас повинен бути серіалізованим. Це дає можливість надійно зберігати, зберігати і відновлювати стан bean незалежним від платформи і віртуальної машини способом.
Клас повинен мати перевизначені методи equals (), hashCode () і toString ().
Так як вимоги в основному викладені у вигляді угоди, а не інтерфейсу, деякі розробники розглядають JavaBeans, як Plain Old Java Objects, які слідують певним правилам іменування.
Приклади
JavaBeans є класом, який має конструктор без аргументів і відповідає конвенціям JavaBeans іменування. Імена getter і setter методу складаються з слова отримати або встановити, відповідно, плюс ім'я властивості з першого символу кожного слова з великої. Ще один спосіб getter не має параметрів, але повертає значення типу властивості, в той час як setter метод має один параметр типу властивості і має порожній тип значення (void return type). Ось приклад: