JavaBeans

Origem: Wikipédia, a enciclopédia livre.
Ir para: navegação, pesquisa

JavaBeans são componentes de software escritos na linguagem de programação Java. Segundo a especificação da Sun Microsystems os JavaBeans são "componentes reutilizáveis de software que podem ser manipulados visualmente com a ajuda de uma ferramenta de desenvolvimento". Um bean também pode ser definido como uma classe Java que expõe propriedades, seguindo uma convenção de nomeclatura simples para os métodos getter e setter. Praticamente são classes escritas de acordo com uma convenção em particular. São usados para encapsular muitos objetos em um único objeto (o bean), assim eles podem ser transmitidos como um único objeto em vez de vários objetos individuais. O JavaBean é um Objeto Java que é serializavel, possui um construtor nulo e permite acesso às suas propriedades através de métodos getter e setter.

Apesar da semelhança nos nomes, os JavaBeans não devem ser confundidos com os Enterprise JavaBeans, ou EJBs, que são componentes utilizados em servidores e são parte da plataforma Java EE.

A origem do termo (significativa ou não) vem do sinônimo da palavra Java, utilizada popularmente nos EUA com o significado de café (daí a associação da linguagem à uma xícara de café), e beans (palavra em inglês que significa "grãos"), fazendo uma analogia de que o café é produzido de grãos que encapsulam seu sabor.[1]

Convenções utilizadas nos JavaBeans[editar | editar código-fonte]

Para ser considerada como um JavaBean, uma classe precisa seguir algumas convenções de nomenclatura de métodos, construtores e comportamento. Estas convenções permitem a existência de ferramentas que podem utilizar e manipular os JavaBeans.

As convenções definem que a classe:

  • implemente a interface java.io.Serializable (que possibilita a persistência e restauração do estado do objeto da classe);
  • possua um construtor sem argumentos;
  • que as suas propriedades sejam acessíveis através de métodos "get" e "set", seguindo um padrão de nomenclatura;
  • possa conter qualquer método de tratamento de eventos.

Como estes requisitos são expressos em convenções ao invés de serem garantidos através de uma interface, alguns programadores vêem os JavaBeans como Plain Old Java Objects que seguem certas convenções de nomenclatura. Porém, esta visão é enganosa para JavaBeans que suportam tratamento de eventos, já que as convenções de nomenclatura neste caso são mais complexas e pedem a utilização de classes como base e a implementação de interfaces. O java beans é bastante usado por programadores em jsp ou seja (Java Server Page) onde atraves deles implementam construtores de classes e métodos.

Exemplo Utilização Java Bean[editar | editar código-fonte]

Pessoa.java:

public class Pessoa implements java.io.Serializable {
 
    private String nome;
    private String idade;
 
    public String getNome() {
        return nome;
    }
    public void setNome(String nome) {
        this.nome = nome;
    } 
    public String getIdade() {
        return idade;
    }
    public void setIdade(String idade) {
        this.idade = idade;
    }
 
    /*construtor atribui vazio aos atributos
    para que não sejam mostrados valores nulos na página */
    public Pessoa() {
        this.idade="";
        this.nome="";
    }
}

pessoa.jsp:

<%@ page language="java" contentType="text/html; charset=ISO-8859-1"
    pageEncoding="ISO-8859-1"%>
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
<title>JavaBean Pessoa</title>
</head>
<body>
	<jsp:useBean id="pessoa" class="pacote.Pessoa"></jsp:useBean>
	<jsp:setProperty property="*" name="pessoa"/>
 
	<form action="pessoa.jsp" method="post">
		Nome: <input type="text" name="nome"><br>
		Idade<input type="text" name="idade" size="5">
		<input type="submit" value="Enviar Dados">
		<p>
		Nome: <%=pessoa.getNome() %></p>
		Idade: <%=pessoa.getIdade() %>
	</form>
</body>
</html>

Referências

  1. Geary, Horstmann, David, Cay. Seção. In: Prentice Hall. Core JavaServer Faces: subtítulo (em Inglês). 3 ed. Boston: Pearson Education, 2010. 636 p. 1 vol. ISBN 978-0-13-701289-3

Ver também[editar | editar código-fonte]

Ligações externas[editar | editar código-fonte]