Почему Бобы Java должны быть сериализуемыми?

Действительно ли необходимо, чтобы Боб Java реализовал Serializable интерфейс?

14
задан UserNotFoundException 31 December 2016 в 00:00
поделиться

2 ответа

Это одна из «типичных» функций, описанных в спецификации Javabeans .

Вот отрывок из главы 2.1 Что такое bean?

Отдельные Java Bean-компоненты будут различаться по функциональности, которую они поддерживают, но типичные объединяющие функции которые отличает Java Bean:

  • Поддержка «самоанализа», чтобы инструмент построения мог анализировать, как работает bean-компонент
  • Поддержка «настройки», чтобы при использовании компоновщика приложений пользователь мог настроить внешний вид и поведение фасоли.
  • Поддержка «событий» как простой коммуникационной метафоры, которую можно использовать для подключения фасоль.
  • Поддержка «свойств» как для настройки, так и для программного использования.
  • Поддержка сохраняемости, чтобы компонент можно было настроить в построителе приложений и затем сохраните его настроенное состояние и перезагрузите позже.

А вот отрывок из главы 5.5 Краткое изложение устойчивости :

Все bean-компоненты должны поддерживать сериализацию или экстернализацию.

На практике для его работы не обязательно. В общем, он также будет нормально работать без реализации Serializable . Однако это полезно всякий раз, когда вы хотите хранить их «в обычном» виде на жестком диске или отправлять «в обычном формате» по сети.Например, когда это bean-компонент с областью сеанса, который должен храниться в сеансе HTTP, и сервер настроен на сохранение и возобновление сеансов HTTP во время выключения / перезапуска. В любом случае, всякий раз, когда вы сталкиваетесь с NotSerializableException с полным квалифицированным именем класса в сообщении, тогда достаточно знака, чтобы позволить ему реализовать Serializable .

15
ответ дан 1 December 2019 в 09:31
поделиться

Да .

По определению - Java bean - это именно то, что сериализуемый POJO (простой старый объект Java), с конструктором без аргументов и частными полями с геттерами / сеттерами.

13
ответ дан 1 December 2019 в 09:31
поделиться
Другие вопросы по тегам:

Похожие вопросы: