Как правило, файлы этих классов упаковываются в один jar-файл и отмечаются в его файле MANIFEST. MF как Java-Bean: True.
Все компоненты AWT и Swing являются компонентами JavaBeans.
Спецификация Sun Microsystems определяет JavaBeans как повторно используемые программные компоненты, которыми можно управлять, используя графические конструкторы и средства IDE.
Визуальные средства разработки – это не основное применение JavaBeans.
Главное достоинство компонентов, оформленных как JavaBeans, в том, что они без труда встраиваются в любое приложение.
И приложение можно собрать из готовых JavaBeans как из строительных блоков, остается только настроить их свойства.
Это называется компонентное программирование.
Чтобы класс мог работать как bean, он должен соответствовать определённым соглашениям об именах методов, конструкторе и поведении.
Эти соглашения дают возможность создания инструментов, которые могут использовать, замещать и соединять JavaBeans.
Эти соглашения следующие:
Класс должен иметь конструктор без параметров, с модификатором доступа public.
Такой конструктор позволяет инструментам создать объект без дополнительных сложностей с параметрами.
Свойства класса должны быть доступны через get, set и другие методы (так называемые методы доступа), которые должны подчиняться стандартному соглашению об именах.
Это легко позволяет инструментам автоматически определять и обновлять содержание bean’ов.
Многие инструменты даже имеют специализированные редакторы для различных типов свойств.
Класс должен быть сериализуем.
Это даёт возможность надёжно сохранять, хранить и восстанавливать состояние bean независимым от платформы и виртуальной машины способом.
Класс должен иметь переопределенные методы equals, hashCode и toString.
В среде разработки NetBeans можно легко создать компонент JavaBeans с помощью меню New проекта приложения.
Для создания компонентов JavaBeans Java SE API включает в себя пакет java.beans.
В частности, помимо обычных свойств, представленных отдельными значениями и массивами значений, компонент JavaBeans может иметь связанные свойства, которые уведомляют слушателей, когда изменяется их значение.
Класс компонента JavaBeans содержит методы addPropertyChangeListener и removePropertyChangeListener для управления слушателями, и когда связанное свойство изменяется, компонент отправляет событие PropertyChangeEvent своим зарегистрированным слушателям.
Также класс компонента JavaBeans может запускать любой тип события, включая пользовательские события.
Как и в случае со свойствами, события идентифицируются по определенной схеме имен методов, add Listener и remove Listener.
Другое понятие, с которым вы можете столкнуться – это Plain Old Java Object.
Plain Old Java Object – это объект Java, который не расширяет или не реализует специализированные классы и интерфейсы каких-либо фреймворков.
POJO это просто класс Java, который содержит только поля, без логики их обработки и обеспечивает доступ ко все полям только через методы get/set.
Компоненты JavaBeans дополняют Plain Old Java Object наличием конструктора по умолчанию и наличием слушателей listener изменения свойств.
То есть Plain Old Java Object описывает структуру данных для дальнейшего использования в приложении.
Все мы знаем о том, что Java позволяет создавать в памяти объекты для многократного использования.
Однако все эти объекты существуют лишь до тех пор, пока выполняется создавшая их виртуальная машина.
Было бы неплохо, если бы создаваемые нами объекты могли бы существовать и вне пределов жизненного цикла виртуальной машины?
Как уже было сказано, JavaBeans обладает свойством сохранения, когда его свойства, поля и информация о состоянии могут сохраняться и извлекаться из хранилища.
Механизм, который делает возможным такое сохранение, называется сериализацией.
Сериализация объектов означает преобразование объекта в поток данных и запись его в хранилище, при этом объект представлен как последовательность байтов, которая включает в себя данные объекта, а также информацию о типе объекта и типах данных, хранящихся в объекте.
Читать дальше