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

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

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

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

person vibhor    schedule 03.01.2012    source источник
comment
Возможное дублирование stackoverflow.com/questions/1612334 /   -  person Mark Bramnik    schedule 03.01.2012


Ответы (2)


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

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

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

person Jens Schauder    schedule 03.01.2012
comment
Итак, как мы можем отличить javabeans (класс со стандартным именованием) от bean-компонентов (jsp:get/set/useBean) в jee/jsp.. - person vibhor; 03.01.2012

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

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

person dantuch    schedule 03.01.2012