Sobes.tech
Junior

Jaký je rozdíl mezi běžným objektem a JavaBean?

sobes.tech AI

Odpověď od AI

Rozdíl spočívá v dodržování konvencí pojmenování (velké písmeno po "get/set/is") pro přístupové metody k vlastnostem, v přítomnosti bezparametrického konstruktoru a serializovatelnosti. To umožňuje používat JavaBeans s frameworky a nástroji založenými na introspekci.

Obecný objekt nemusí těchto pravidel dodržovat.

public class SimpleObject {
    private String name;

    public SimpleObject(String name) { // Libovolný konstruktor
        this.name = name;
    }

    public String retrieveName() { // Není standardní pojmenování get
        return name;
    }
}
import java.io.Serializable;

public class JavaBean implements Serializable { // Serializovatelný
    private String name;

    public JavaBean() { // Konstruktor bez argumentů
    }

    public String getName() { // Standardní pojmenování getteru
        return name;
    }

    public void setName(String name) { // Standardní pojmenování setteru
        this.name = name;
    }
}

Klíčové rozdíly:

Kritérium Obecný objekt JavaBean
Konstruktor bez argumentů Nepovinný Povinný
Názvy metod Libovolné get/set/is + název vlastnosti
Serializovatelnost Nepovinná Žádoucí/Povinná pro některé frameworky
Použití Obecné určení Komponentní model, frameworky (Spring, EJB)