Каково различие между POJO и Bean в Java?

Сходство мне показалось много между этими двумя концепциями. У двух есть защищенные признаки и простые классы. Но я хотел бы знать, каково Ваше различие

6
задан 31.05.2016, 07:55
4 ответа

POJO

POJO значит Плаин Ольд Java Object. Говорится об объекте Java comГєn, не связанный ни одной restricciГіn специально, что не был вынужден из-за нее especificaciГіn языка Java, и что он не потребовал никакого маршрута класса. POJOs используются для того, чтобы увеличивать читабельность и ее reutilizaciГіn программы. POJOs заработали ее mayorГ - в нее aceptaciГіn, потому что они состоят fГЎciles в том, чтобы писать и в том, чтобы понимать. Они попали в EJB 3.0 из-за микросистем Sun.

POJO не должен содержать следующее:

  • Увеличивать предопределенные классы, Эдж: public class GFG extends javax.servlet.http.HttpServlet {...} не класс POJO.

  • Осуществлять предопределенные интерфейсы, Эдж: public class Bar implements javax.ejb.EntityBean {...} не класс POJO.

  • предопределенных Аннотаций, Эдж: @javax.persistence.Entity public class Baz {...} не класс POJO.

POJOs bГЎsicamente определи организацию. Если в твоей программе ты желаешь класс служащего, тогда ты можешь создавать POJO следующего способа:

// Employee POJO clase que representa una entidad empleado
public class Employee
{
    // campo por defecto
    String name;

    // campo público
    public String id;

    // salario privado
    private double salary;

    //constructor para inicializar los campos
    public Employee(String name, String id, 
                             double salary)
    {
        this.name = name;
        this.id = id;
        this.salary = salary;
    }

    // getters
    public String getName()
    {
        return name;
    }

    public String getId()
    {
        return id;
    }

    public Double getSalary()
    {
        return salary;
    }
}

Предыдущий пример - хорошо определенный пример класса POJO. Поскольку он может видеть, нет restricciГіn на доступе - модификаторе полей. Они могут пользоваться расположением, быть предопределенными, защищенные или pГєblicos. Также не является необходимым включать ningГєn строитель в Г©l.

POJO - объект, который герметизирует в корпусе ее lГіgica дела (Бусинесс Лохик). Следующее изображение показывает пример prГЎctico класса POJO. Драйверы interactГєan с Ваш lГіgica дела, которое в свою очередь interactГєan с POJO, чтобы соглашаться на базу данных. В этом примере, организации базы данных estГЎ представленная POJO. У этого POJO есть те же члены, что и организация базы данных.

introducir la descripción de la imagen aquí


BEANS

Beans - специальные типы POJOS. Есть какие-то ограничения в POJO для того, чтобы это смогли быть Беанс.

  1. Все JavaBeans - POJO, но не все POJOs - JavaBeans.
  2. Serializables, а именно, должны осуществлять интерфейс Serializable. AГєn какие-то POJOs, которые не осуществляют интерфейс Serializable, называются POJOs, потому что Serializable - интерфейс закладок и следовательно не много он грузит.
  3. Поля должны быть частными. Это - это, чтобы предоставлять полный контроль в полях.
  4. Поля должны иметь getters или сеттеры или оба.
  5. Строитель no-arg может существовать в bean.
  6. соглашаются на поля sГіlo из-за строителя или getter или сеттеры. У

Getters и Сеттеров есть какие-то специальные имена в зависимости от имени поля. Например, если сельское имя - someProperty тогда Ваш getter предпочтительно serГЎ:

public void getSomeProperty()
{
   return someProperty;
} 

и сеттер llamarГЎ:

public void setSomePRoperty(someProperty)
{
   this.someProperty=someProperty;
}

Видимость getters и сеттеров в общем - pГєblica. Getters и сеттеры предоставляют ее restricciГіn заверши в полях.

, Если он устанавливает видимость возраста в pГєblico, тогда любой объект может использовать ее. Давайте предполагать, что он хочет, чтобы возраста не смогло быть 0. В этом случае, не моги иметь контроль. Любой объект может устанавливать ее в 0. Но используя mГ©todo сеттера, имеется контроль. У Вас может быть одна condiciГіn в Ваш mГ©todo сеттера. Так же, для mГ©todo getter, если он хочет, чтобы, если Вашего возраста 0, тогда deberГ, - чтобы возвращать null, он смог добиваться этого посредством mГ©todo getter как в следующем примере: Последованные

// Java program to illustrate JavaBeans
class Bean
{
    // private field property
    private Integer property;
    Bean()
    {
        // No-arg constructor
    }

    // setter method for property
    public void setProperty(Integer property)
    {
        if (property == 0)
        {
            // if property is 0 return
            return;
        }
        this.property=property;
    }

    // getter method for property
    public int getProperty()
    {
        if (property == 0)
        {
            // if property is 0 return null
            return null;
        }
        return property;
    }
}

// Class to test above bean
public class GFG
{
    public static void main(String[] args)
    {
        Bean bean = new Bean();

        bean.setProperty(0);
        System.out.println("After setting to 0: " +
                                 bean.getProperty());

        bean.setProperty(5);
        System.out.println("After setting to valid" +
                      " value: " + bean.getProperty());
    }
}

:

After setting to 0: null
After setting to valid value: 5

CONCLUSIГ “N

Классы POJO и Beans используются для того, чтобы определять объекты Java, чтобы увеличивать Вашу читабельность и reutilizaciГіn. У POJOs нет других ограничений в то время как Beans - особенные POJOs с какими-то ограничениями.


Шрифт: POJO vs Java Beans (видеть в конце концов интересную сравнительную таблицу).

6
ответ дан 24.11.2019, 14:16

Единственными заметными различиями дело в том, что Java Bean может быть последовательно преобразован (хотя он не находится в спецификации) и POJO только может получать в наследство Object.

POJO:

это инициалы “Плаин Ольд Java Object”, POJO - инстанция класса, который он не увеличивает и он ничего не осуществляет особенно. Для программистов Java служит для того, чтобы выделить использование простых классов, и которые не зависят от framework особенно. Эта концепция появляется в противопоставлении модели, выдвинутой стандартами EJB, предыдущими в 3.0, в которых Энтерприсе Хавабеанс (EJB) были должны осуществлять специальные интерфейсы.

Bean (JavaBean):

это простой класс в Java, который выполняет некую процедуру с именами Ваших свойств и методов.

У JavaBean должен быть строитель без аргументов, он считает очевидными все Ваши признаки как частные и для каждого из них метод сеттер и getter, добавляя слово “set” или “get” на имя признака и они должны быть serializables. Посредством этих JavaBeans, мы разрабатываем нашу модель объектов (или модель домена) для приложения.

Пример:

public class MiBean implements java.io.Serializable {

   private int edad;
   private String nombre;

   //Constructor 
   public MiBean () {

   }

   public int getEdad() {
     return edad;
   }

   public void setEdad(int edad) {
     this.edad = edad;
   }

   public String getNombre() {
     return nombre;
   }

   public void setNombre(String nombre) {
     this.nombre = nombre;
   }

}

Я предлагаю тебе проверять этот документ для большей информации: "Он дифференцирует Java Bean vs POJO" и спецификация JavaBeans.

Определение POJO (Wikipedia):

Определение Хавабеан (Wikipedia):

5
ответ дан 24.11.2019, 14:16
  • 1
    Нигде в especificaci и # 243; n JavaBean показывает, что он должен быть serializable. –   31.05.2016, 17:56
  • 2
    Спасибо Елена system –  Brian Martínez 01.06.2016, 03:10
  • 3
    @LuiggiMendoza понятно, что он s и # 243; это пример:) –  HCarrasko 01.06.2016, 22:56
  • 4
    @Hector плохой пример... –   01.06.2016, 22:57

bean в Java определяется в спецификации JavaBeans:

“В Java Bean is в reusable программное обеспечение component that хан be manipulated visually in в builder tool.”

Переведенный на испанца:

"Bean Java - компонент reusable программного обеспечения, которым может манипулировать визуально инструмент разработки."

Определяются больше элементов для bean как номенклатура признаков и методов, методы доступа к признакам, опоре к событиям, между другими.

POJO ссылается на Плаин Ольд Java Object. Это относится к классу с частными или защищенными признаками, и который только поставляет методы getter и сеттер, защищенный или публичные, чтобы соглашаться на признаки. Сходный с, когда ты определяешь организацию. POJO - JavaBean в то время как JavaBean не обязательно - POJO.

0
ответ дан 24.11.2019, 14:16

Привет прицел я думаю, что он может помогать этому в твой вопрос, и как дифференцировать их :) http://carlospesquera.com/que-es-un-pojo-ejb-y-un-bean/

0
ответ дан 24.11.2019, 14:16
  • 1
    Желанный Jhon, хотя ссылки приняты как ответ, они это каждый раз, когда они пришли acompañ ados с какой-то explicació n. Старайся завершать ответ, а má s вероятный дело в том, что она была удалена. Привет –  Patricio Moracho 28.07.2017, 04:14

Теги

Похожие вопросы