Sobes.tech
Junior

Qual é a diferença entre um objeto comum e um JavaBean?

sobes.tech IA

Resposta da IA

A diferença reside na conformidade com as convenções de nomenclatura (letra maiúscula após "get/set/is") para os métodos de acesso às propriedades, na presença de um construtor sem argumentos e na serialização. Isto permite usar JavaBeans com frameworks e ferramentas baseadas em introspecção.

Um objeto normal pode não seguir estas regras.

public class SimpleObject {
    private String name;

    public SimpleObject(String name) { // Qualquer construtor
        this.name = name;
    }

    public String retrieveName() { // Nomeação não padrão de get
        return name;
    }
}
import java.io.Serializable;

public class JavaBean implements Serializable { // Serializável
    private String name;

    public JavaBean() { // Construtor sem argumentos
    }

    public String getName() { // Nomeação padrão do getter
        return name;
    }

    public void setName(String name) { // Nomeação padrão do setter
        this.name = name;
    }
}

Diferenças principais:

Critério Objeto normal JavaBean
Construtor sem args Opcional Obrigatório
Nomeação dos métodos Qualquer get/set/is + nome da propriedade
Serializabilidade Opcional Desejável/Obrigatório para alguns frameworks
Uso Propósito geral Modelo de componentes, frameworks (Spring, EJB)