Bezdepbonusu7Программирование: статьи и ответы

Вопрос

Путать среди JavaBeans, POJO, beans?

Автор вопроса: vibhorОтветов: 2

Насколько я знаю, JavaBeans - это простые методы получения и установки любых полей в вашем классе Java, с другой стороны, POJO кажется похожим (поля и их получатель/установщик), в чем тогда разница?

Поскольку этого недостаточно, вот появляются bean-компоненты, плавающие во всех ваших JSP и конфигурационных файлах Struts, делают (насколько мне известно) одно и то же...

  1. Меня путают названия, какая разница, какие волшебные слова?
  2. Почему они называют это bean-компонентом, что я должен сказать, если кто-нибудь спросит меня, как описать bean-компонент в контексте Java EE / JSP / Struts.
  • Возможное дублирование stackoverflow.com/questions/1612334 / Mark Bramnik 03.01.2012

javajavabeansjspterminology

Ответы

Ответ 1 · рейтинг 3 · Jens Schauder

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

Java Beans - это классы Java, которые придерживаются определенных соглашений об именах (в основном, геттер-сеттер) и используются во многих контекстах. JSP является одним из них. На самом деле в Java Bean больше, чем использует большинство людей. Вы можете узнать об этом в этом руководстве: http://docs.oracle.com/javase/tutorial/javabeans/index.html

Почему его называют бобовым? Я могу только догадываться: Java -> Coffee -> Bean, с одной стороны, а с другой стороны, bean - это что-то простое, автономное, что подходит для "компонента"

Ответ 2 · dantuch

JavaBean - это POJO, который сериализуем, имеет конструктор без аргументов и позволяет получить доступ к свойствам с использованием методов получения и установки. Enterprise JavaBean - это не отдельный класс, а целая компонентная модель (опять же, EJB 3 снижает сложность Enterprise JavaBeans).

Таким образом, основное отличие, которое можно увидеть, заключается в том, что POJO могут быть более инкапсулированы - иметь конструкторы аргументов и отбрасывать некоторые сеттеры, которые следует использовать только один раз для каждого объекта. JavaBean, как вы упомянули, применяет некоторый строгий стандарт, который не является лучшим решением для всех нужд.

Перевод вопроса и ответов сообщества Stack Overflow, лицензия CC BY-SA. Оригинал на Stack Overflow.

Похожие материалы