Могут ли javabean иметь методы и не примитивные типы в качестве своих свойств? - PullRequest
2 голосов
/ 02 марта 2012

Извините, это, вероятно, супер базовый.Но во всех моих примерах javabean я не видел ничего, кроме «int» и «String», в качестве свойств javabean.

Что, если бы у меня был бин Person, и я хотел бы иметь свойство «псевдонимов»?Это был бы массив "String" объектов.Это возможно?Могу ли я использовать HashMap в качестве свойства javabean?

Мне также не ясно, разрешено ли javabeans иметь методы помимо методов получения и установки.Если бы у меня был bean-компонент Calculator, мог бы я иметь метод, подобный add () или subtract ()?

(причина, по которой я спрашиваю, связана с маршалингом и демаршаллингом JSON объектов java с использованием спецификации JAX-RSЯ думаю, что в стандартных уроках все компоненты очень просты и могут использовать автоматическое маршалинг и демаршаллинг без написания каких-либо адаптеров. Я пытаюсь выяснить, в какой момент автоматическое преобразование перестает работать.)

Спасибо!

1 Ответ

1 голос
/ 05 апреля 2012
  1. Свойства не примитивных или простых (String) типов - нет проблем, если поставщик JAXB сможет их сериализовать / десериализовать.

  2. Вы можете добавлять методы к своим компонентам, нет проблем. Если вы хотите быть уверены, что поля используются для сериализации, вы можете аннотировать ваш компонент с помощью @XmlAccessorType (XmlAccessType.FIELD)

...