POJO em Java significa Plain Old Java Object. É um objeto comum, que não está sujeito a nenhuma restrição especial. O arquivo POJO não requer nenhum caminho de classe especial. Aumenta a legibilidade e reutilização de um programa Java.
POJOs são agora amplamente aceitos devido à sua fácil manutenção. Eles são fáceis de ler e escrever. Uma classe POJO não possui nenhuma convenção de nomenclatura para propriedades e métodos. Não está vinculado a nenhum Java Estrutura; qualquer programa Java pode usá-lo.
O termo POJO foi introduzido por Martin Fowler (Um desenvolvedor de software americano) em 2000. está disponível em Java a partir do EJB 3.0 pela sun microsystem.
Geralmente, uma classe POJO contém variáveis e seus Getters e Setters.
As classes POJO são semelhantes aos Beans, pois ambos são usados para definir os objetos para aumentar a legibilidade e reutilização. A única diferença entre eles é que os arquivos Bean possuem algumas restrições, mas os arquivos POJO não possuem nenhuma restrição especial.
Exemplo:
A classe POJO é usada para definir as entidades do objeto. Por exemplo, podemos criar uma classe Employee POJO para definir seus objetos.
Abaixo está um exemplo de classe Java POJO:
Funcionário.java:
// POJO class Exmaple package Jtp.PojoDemo; public class Employee { private String name; private String id; private double sal; public String getName() { return name; } public void setName(String name) { this.name = name; } public String getId() { return id; } public void setId(String id) { this.id = id; } public double getSal() { return sal; } public void setSal(double sal) { this.sal = sal; } }
A classe de funcionário acima é um exemplo de classe POJO de funcionário. Se você estiver trabalhando no Eclipse, poderá gerar facilmente Setters e Getters clicando com o botão direito no programa Java e navegando até Fonte-> Gerar Getters e Setters.
Clique com o botão direito no programa Java e selecione Gerar getters e setters.
Agora, clique no Gerar opção fornecida na parte inferior da janela Gerar. Ele gerará setters e getters automaticamente.
desvantagens sobre a internet
Propriedades da classe POJO
Abaixo estão algumas propriedades da classe POJO:
- A classe POJO deve ser pública.
- Deve ter um construtor padrão público.
- Pode ter o construtor de argumentos.
- Todos os objetos devem ter alguns Getters e Setters públicos para acessar os valores do objeto por outros programas Java.
- O objeto na classe POJO pode ter qualquer modificação de acesso, como privado, público, protegido. Porém, todas as variáveis de instância devem ser privadas para melhorar a segurança do projeto.
- Uma classe POJO não deve estender classes predefinidas.
- Não deve implementar interfaces pré-especificadas.
- Não deve ter nenhuma anotação pré-especificada.
Funcionamento da classe POJO
A classe POJO é uma classe de objeto que encapsula a lógica de negócios. Em uma arquitetura MVC, o Controlador interage com a lógica de negócio, que entra em contato com a classe POJO para acessar os dados.
Abaixo está o funcionamento da classe POJO.
Como usar a classe POJO em um programa Java
A classe POJO é criada para utilizar os objetos em outros programas Java. A principal vantagem da classe POJO é que não teremos que criar objetos todas as vezes em outros programas Java. Simplesmente podemos acessar os objetos usando os métodos get() e set().
Para acessar os objetos da classe POJO, siga os passos abaixo:
- Crie objetos de classe POJO
- Defina os valores usando o método set()
- Obtenha os valores usando o método get()
Por exemplo, crie um arquivo de classe MainClass.java dentro do mesmo pacote e escreva o seguinte código nele:
borda css
MainClass.java:
//Using POJO class objects in MainClass Java program package Jtp.PojoDemo; public class MainClass { public static void main(String[] args) { // Create an Employee class object Employee obj= new Employee(); obj.setName('Alisha'); // Setting the values using the set() method obj.setId('A001'); obj.setSal(200000); System.out.println('Name: '+ obj.getName()); //Getting the values using the get() method System.out.println('Id: ' + obj.getId()); System.out.println('Salary: ' +obj.getSal()); } }
Saída:
Name: Alisha Id: A001 Salary: 200000.0
No exemplo acima, podemos ver que acessamos as propriedades da classe POJO em MainClass.java.
POJO é semelhante ao Bean Class, então as pessoas muitas vezes ficam confusas entre eles; vamos ver a diferença entre o POJO e o Bean.
Feijão Java
Classe Java Bean também é uma classe de objeto que encapsula vários objetos em um único arquivo (Bean Class File). Existem algumas diferenças entre POJO e Bean.
Java POJO e Bean em poucas palavras:
- Todos os arquivos Bean podem ser POJOs, mas nem todos os POJOs são beans.
- Todos os arquivos Bean podem implementar uma interface Serializable, mas nem todos os POJOs podem implementar uma interface Serializable.
- Ambas as propriedades devem ser privadas para ter controle total dos campos.
- As propriedades devem ter getters e setter para acessá-las em outros programas Java.
- A classe Bean é um subconjunto da classe POJO.
- Não há grande desvantagem em usar o POJO, mas poucas desvantagens podem estar em usar a classe Bean.
- O POJO é usado quando queremos fornecer acesso total aos usuários e restringir nossos membros. E o Bean é usado quando queremos fornecer acesso parcial aos membros.
POJO vs. Feijão
POJO | Feijão |
---|---|
No Pojo, não há restrições especiais além das convenções Java. | É um tipo especial de arquivo POJO, que possui algumas restrições especiais além das convenções Java. |
Ele fornece menos controle sobre os campos em comparação ao Bean. | Ele fornece proteção completa em campos. |
O arquivo POJO pode implementar a interface Serializable; mas não é obrigatório. | A classe Bean deve implementar a interface Serializable. |
A classe POJO pode ser acessada usando seus nomes. | A classe Bean só pode ser acessada usando getters e setters. |
Os campos podem ter qualquer um dos modificadores de acesso, como público, privado, protegido. | Os campos só podem ter acesso privado. |
No POJO, não é necessário ter um construtor sem argumentos; pode ou não ter. | Deve ter um construtor sem argumentos. |
Não há nenhuma desvantagem em usar o POJO | A desvantagem de usar o Bean é que o construtor Default e o setter público podem alterar o estado do objeto quando deveria ser imutável. |