Sobes.tech
Junior

Mi a különbség egy normál objektum és egy JavaBean között?

sobes.tech MI

Válasz az MI-től

A különbség a névkonvenciók betartásában rejlik (nagybetű a "get/set/is" után) az értékhez való hozzáférő metódusoknál, a paraméter nélküli konstruktor meglétében és a sorosíthatóságban. Ez lehetővé teszi JavaBean-ek használatát olyan keretrendszerekkel és eszközökkel, amelyek az introspekcióra épülnek.

Egy normál objektum nem feltétlenül követi ezeket a szabályokat.

public class SimpleObject {
    private String name;

    public SimpleObject(String name) { // Bármilyen konstruktor
        this.name = name;
    }

    public String retrieveName() { // Nem szabványos get név
        return name;
    }
}
import java.io.Serializable;

public class JavaBean implements Serializable { // Sorosítható
    private String name;

    public JavaBean() { // Argumentum nélküli konstruktor
    }

    public String getName() { // Szabványos getter név
        return name;
    }

    public void setName(String name) { // Szabványos setter név
        this.name = name;
    }
}

Fő különbségek:

Kritérium Normál objektum JavaBean
Argumentum nélküli konstruktor Nem kötelező Kötelező
Metódusok neve Bármilyen get/set/is + tulajdonság neve
Sorosíthatóság Nem kötelező Ajánlott/Kötelező néhány keretrendszer számára
Használat Általános cél Komponens modell, keretrendszerek (Spring, EJB)