Подтвердить что ты не робот

Что такое JavaBeans на простом английском языке?

Прежде чем я начну, я просто хотел бы, чтобы все знали, что я действительно потратил хорошее время на поиски и нашел много объяснений и определений. Но даже в этом случае, проводя часы, читающие этот предмет, все еще кажется довольно расплывчатым. Я знаю, что я должен задавать вопросы, которые могут улучшить сообщество, но это только для меня, чтобы узнать, есть ли у меня четкое понимание JavaBeans.

Из того, что я могу понять, JavaBean - это в основном класс, как и любой другой класс Java, за исключением того, что он придерживается определенных соглашений, то есть:

  • Класс должен реализовать Serializeable
  • Свойства класса считаются частными и их имена начинаются с строчной буквы
  • Каждое свойство должно иметь соответствующие методы getter и setter.
  • Каждый метод setter начинается с префикса 'get', за которым следует имя свойства, например. SetName()
  • Сеттерные методы являются общедоступными и недействительными.
  • То же самое относится к методам getter (prefix 'get', public, return type соответствующий тип класса свойств и т.д.)
  • Для булевых свойств вместо "get" используется префикс "is"
  • Строго говоря, это экземпляр класса, который считается < bean 'не самим классом.

И у вас есть это, после очень долгого времени чтения, что я могу разобрать... Это так? Я близко? У меня это совершенно неправильно?

... Спасибо за ответы, чтобы обновить этот список пулей: -)

4b9b3361

Ответ 1

javabean - это стандарт. Все джавабеи имеют следующие 3 качества:

1) Класс реализует Serializable
2) Все поля имеют публичные сеттеры и геттеры для контроля доступа.
3) Открытый конструктор без аргументов.

Ответ 2

Да, это в значительной степени.

Всего несколько дополнительных бит:

  • Getters не принимают параметров, а сеттеры принимают один параметр того же типа, что и свойство
  • Свойства могут быть доступны только для чтения или записи, опуская сеттер или getter соответственно
  • boolean getters используют префикс 'is'

И я думаю, что строго это экземпляры, которые "beans", а не класс.

Ответ 3

Это так? Я близко?

Да, вы относительно верны. Большинство beans придерживаются таких основных правил для определения. Однако добавьте еще несколько вещей. Чтобы отличить beans от POJO (Plain Old Java Object), beans имеет конструктор по умолчанию и обычно реализует сериализуемый интерфейс.

Это позволяет работать с базовыми моделями во многих инфраструктурах. beans в основном используются для хранения и извлечения данных в простой структуре компоновки, поэтому модели данных могут использоваться совместно по всем конкретным архитектурам. Примеры включают в себя запуск событий в пользовательском интерфейсе с использованием одних и тех же данных для работы с различными диалогами и получение результатов для данного ORM (сопоставления связей объектов). Дополнительные примеры, на которые вы можете обратить внимание, - это DTO (объект передачи данных), VO (объекты Value) и EJB (Enterprise Java Beans).

Ответ 4

В дополнение к ответам наших товарищей:

  • Добавьте слушателя с помощью метода addXXXListener.
  • Удалить прослушиватель с помощью метода removeXXXListener.
  • Логические (примитивные) поля должны иметь метод isXXX вместо метода getXXX.

Как стандарт, важно следовать ему, так как библиотеки и технологии в Java будут использовать его под капотом. Примеры: язык выражений в JSP, сборщиках GUI и т.д.

Спецификация: http://download.oracle.com/otndocs/jcp/7224-javabeans-1.01-fr-spec-oth-JSpec/