Sobes.tech
Junior

Aký je rozdiel medzi bežným objektom a JavaBean?

sobes.tech AI

Odpoveď od AI

Rozdiel spočíva v dodržiavaní konvencií pomenovania (veľké písmeno po "get/set/is") pre prístupové metódy k vlastnostiam, v prítomnosti bezparametrického konštruktora a serializovateľnosti. To umožňuje používať JavaBeans s frameworkmi a nástrojmi založenými na introspekcii.

Bežný objekt nemusí tieto pravidlá dodržiavať.

public class SimpleObject {
    private String name;

    public SimpleObject(String name) { // Akýkoľvek konštruktor
        this.name = name;
    }

    public String retrieveName() { // Nefštandardné pomenovanie get
        return name;
    }
}
import java.io.Serializable;

public class JavaBean implements Serializable { // Serializovateľný
    private String name;

    public JavaBean() { // Konštruktor bez argumentov
    }

    public String getName() { // Štandardné pomenovanie getter
        return name;
    }

    public void setName(String name) { // Štandardné pomenovanie setter
        this.name = name;
    }
}

Kľúčové rozdiely:

Kritérium Bežný objekt JavaBean
Konštruktor bez args Nie je povinný Povinný
Názov metódy Akýkoľvek get/set/is + názov vlastnosti
Serializovateľnosť Nie je povinná Želaná/Povinná pre niektoré frameworky
Použitie Všeobecné určenie Komponentný model, frameworky (Spring, EJB)