Sobes.tech
Junior

Koja je razlika između običnog objekta i JavaBean?

sobes.tech АИ

Одговор од АИ

Разлика се налази у поштовању конвенција именовања (велика слова после "get/set/is") за методе приступа својствима, у присуству конструктора без аргумената и серијализацији. Ово омогућава коришћење JavaBean-ова са framework-овима и алатима заснованим на интроспекцији.

Обичан објекат можда неће следити ова правила.

public class SimpleObject {
    private String name;

    public SimpleObject(String name) { // било који конструктор
        this.name = name;
    }

    public String retrieveName() { // Не стандардно име get
        return name;
    }
}
import java.io.Serializable;

public class JavaBean implements Serializable { // Серијализујући
    private String name;

    public JavaBean() { // Конструктор без аргумената
    }

    public String getName() { // Стандардно име гетера
        return name;
    }

    public void setName(String name) { // Стандардно име сетера
        this.name = name;
    }
}

Кључне разлике:

Критеријум Обичан објекат JavaBean
Конструктор без args Необавезно Обавезно
Именовање метода било које get/set/is + име својства
Серијализација Необавезна Желљена/Обавезна за неке framework-ове
Коришћење Општа намена Компонентни модел, framework-ови (Spring, EJB)