Это одна из «типичных» функций, описанных в спецификации Javabeans .
Вот выдержка из главы 2.1 Что такое боб?
Отдельные Java Bean-компоненты будут различаться по функциональности, которую они поддерживают, но по типичным объединяющим функциям.
которые отличают Java Bean:
- Поддержка «самоанализа», чтобы инструмент строителя мог анализировать, как работает бин
- Поддержка «настройки», так что при использовании конструктора приложений пользователь может
настроить внешний вид и поведение бобов.
- Поддержка «событий» как простой метафоры общения, которую можно использовать для подключения
вверх бобы.
- Поддержка «свойств», как для настройки, так и для программного использования.
- Поддержка персистентности, так что компонент может быть настроен в конструкторе приложений и
затем сохраните настроенное состояние и перезагрузите его позже.
А вот выдержка из главы 5.5 Сводка по постоянству :
Все компоненты должны поддерживать сериализацию или экстернализацию.
На практике для его работы нет необходимости. В целом, он также будет работать нормально без реализации Serializable
. Тем не менее, это полезно, когда вы хотите сохранить их «обычными» на жестком диске или отправить «обычные» по сети. Например, когда это bean-объект сессионной области, который должен быть сохранен в сеансе HTTP, а сервер сконфигурирован для сохранения и восстановления сеансов HTTP во время выключения / перезапуска. В любом случае, когда вы сталкиваетесь с NotSerializableException
с полным квалифицированным именем класса в сообщении, этого достаточно для того, чтобы он реализовал Serializable
.