Este é um post disponível para assinantes MVPou para quem possui Créditos DevMedia. Clique aqui para saber mais!
artigo SQL Magazine 30 - Persistência em Java
Artigo da Revista SQL Magazine -Edição 30.
Você não gostou da qualidade deste conteúdo?
(opcional) Você gostaria de comentar o que não lhe agradou?
Os artigos dessa edição estão disponíveis somente através do formato HTML.

Persistência em Java
Serialização utilizando o JDK
É difícil imaginar uma aplicação de software, seja de que porte for, que não tenha a necessidade de utilizar todos ou parte de seus dados entre as diversas execuções ou disponibilizá-los para que a mesma aplicação os utilize em outros computadores ou por outras aplicações. Estes dados podem ir de simples parâmetros para os componentes gráficos, como posicionamento e aparência, passando por dados que descrevem recursos externos, até dados que fazem parte do negócio para o qual a aplicação tenha sido projetada.
A forma como os dados se tornam disponíveis entre as diversas execuções de uma aplicação são variadas. De maneira geral, podem ir de simples arquivos com formato texto ou binário, passando por estruturas padronizadas em arquivos XML (eXtensible Markup Language) e chegando a estruturas organizadas em tabelas disponíveis em sistemas de gerenciamento de bancos de dados.
Este processo de armazenamento e recuperação de dados, independente do meio de armazenamento, é conhecido como persistência. Como dito inicialmente, a persistência pode ser realizada de diferentes maneiras, dependendo do mecanismo utilizado. Neste artigo será abordada a serialização e suas variações providas pela plataforma Java.
Características
A serialização Java possui as seguintes características, de acordo com sua especificação (ver Referências no final):
· Disponibilizar um mecanismo simples e extensível;
· Manter o tipo do objeto e suas propriedades em uma forma serializada;
· Ser extensível no suporte a objetos remotos;
· Ser extensível no suporte a persistência simples de objetos;
· Requerer implementação em nível de classe somente para customização, e;
· Permitir que o objeto defina seu formato externo.
Estas características permitem que as aplicações Java persistam os estados de seus objetos com nenhum ou pouco código, dependendo da situação e de quanto se necessite de customização. Neste contexto, Java disponibiliza duas interfaces, java.io.Serializable (vista a seguir) e java.io.Externalizable (vista mais adiante), as quais precisam ser implementadas por classes cujos objetos devem ser serializados.
A interface java.io.Serializable funciona como marcadora, ou seja, esta interface não possui métodos a serem implementados, apenas informa ao mecanismo de persistência que o objeto em questão é passível de serialização. Assim, uma classe a ser serializada deve:
· Implementar a interface java.io.Serializable;
· Identificar quais atributos serão serializados e utilizar o modificador transient ou, o qualificador static para indicar quais não serão, ou usar o atributo serialPersistentFields para definir explicitamente quais atributos devem ser serializados;
· Ter acesso ao construtor sem argumentos de sua primeira superclasse não serializável.
E, opcionalmente, definir os métodos:
· writeObject(), que controla quais dados serão persistidos ou que informação adicional será acrescentada ao fluxo (ler Nota 1);
"
Este é um post disponível para assinantes MVPou para quem possui Créditos DevMedia. Clique aqui para saber mais!




