Почему классы классов bean должны быть сериализованы?Почему класс bean должен быть сериализован
Я видел классы бобов в сообщениях о весне MVC, и они всегда объявляются сериализованными и имеют private static final long serialVersionUID
. Зачем?
Почему классы классов bean должны быть сериализованы?Почему класс bean должен быть сериализован
Я видел классы бобов в сообщениях о весне MVC, и они всегда объявляются сериализованными и имеют private static final long serialVersionUID
. Зачем?
Одна из веских причин в отношении сервлетов заключается в том, что если вы помещаете сериализуемые бобы в сеанс веб-сервера, ваш веб-сервер может сериализовать их на диск, если он выключится, а затем десериализовать их обратно в память при запуске , Таким образом, пользователи не потеряют свои сеансы/логины при возврате сервера.
Если в сеансе есть какие-либо несериализуемые компоненты, tomcat не сможет сериализовать сеансы на диск.
Я считаю, что это также необходимо, если вы хотите синхронизировать сеансы между несколькими серверами в кластере.
Согласно JavaBean specification фасоль должна быть сериализована. На самом деле любой класс Java может быть бобом, если она обладает следующими свойствами:
serializable
См. Определение бобов wikipedia. По определению они сериализуемы.
И serialVersionUID
используется как универсальный идентификатор версии для класса Serializable
. После того, как класс будет сериализован при начале процесса десериализации, это число используется для обеспечения того, чтобы загруженный класс соответствовал точно сериализованному объекту.
Вопрос не был * почему * являются фасолью сериализованной? Этот ответ просто указывает на очевидность: бобы сериализуются. Не дает причины, почему –
Но почему бит должен быть сериализован – JDevil
Это не отвечает на вопрос. –
Я отредактировал ваше сообщение для грамматики, но, поскольку я не мог полностью понять это, пожалуйста, проверьте, что цель публикации, как я ее отредактировал, по-прежнему совпадает с вашим первоначальным намерением. – hexafraction
Ваше предположение просто неверно, поэтому вопрос невозможен. –
Спасибо Hexafraction для коррекции – JDevil