escrito por Fabricio Braga em Mar 2008
Assunto interessante, e que para muitos desenvolvedores não é muito claro. Porque Java não suporta heranças múltiplas? Quando usar Interface? Quando usar Herança? Quando usar uma Classe Abstrata?
Aqui procurarei explicar o assunto, usando como base minha própria experiência e também algumas referências importantes.
Ler post completo »
escrito por Fabricio Braga em Nov 2006
Recentemente tive a necessidade de enviar email via Java usando um conta do GMail.? Sei que o tema do envio de email com Java já foi exaustivamente discutido, mas tenho certeza de que o envio usando uma conta do GMail (que requer autenticação) deve ser novidade para muitas pessoas.
Aqui vou dar um exemplo bem simples,? do envio de uma mensagem e autenticação no smtp host do GMail.
Vejamos como ficaria nosso código:
Ler post completo »
escrito por Fabricio Braga em Apr 2006
Mesmo sendo um tema razoavelmente conhecido por programadores Java mais experientes, é bastante útil saber das principais features oferecidas pela API para manipulação de arquivos e diretórios usando Java.
Desde as primeiras versões do JDK a Sun vem melhorando a API de entrada e saída do Java.? As maiores mudanças vieram na mudança do JDK 1.3.1 para a 1.4
Vejamos alguns exemplos mais utilizados no dia-a-dia…
Ler post completo »
escrito por Fabricio Braga em Mar 2006
Neste artigo faremos uma abordagem prática de como implementar de forma simples e direta, testes unitários para componentes EJB. E seguindo a linha dos artigos anteriores, utilizaremos a especificação 3.0 do Enterprise Java Beans.
No momento do desenvolvimento de um componente eu prefiro seguir a ordem:
1º escrevo meu Entity
2º escrevo minhas interfaces local e remote (nem sempre as duas são necessárias)
3º escrevo meu Facade, um Stateless SessionBean
4º escrevo minha classe de testes unitários para o componente
Apenas passo para o próximo componente quando os testes do JUnit estão rodando sem problemas. Independente de você seguir ou não a minha ordem de desenvolvimento, recomendo que use o mesmo procedimento com relação aos testes unitários, passando para a próxima etapa do desenvolvimento somente quando os testes anteriores estiverem rodando sem erros. Isso evita que os problemas se acumulem ao longo do desenvolvimento…
Ler post completo »
escrito por Fabricio Braga em Feb 2006
Os desenvolvedores que já utilizaram alguma vez o quarteto EJB 2.1 + Ant + XDoclet + SessionFacade certamente, ao terem contato com EJB 3.0 perceberão que algumas coisas mudaram também no nível do uso de padrões.
Eu por exemplo, utilizava o DTO, com um SessionFacade e gerava meus métodos finders todos no XDoclet. Procedimento que para mim era muito tranquilo, e eu achava razoavelmente fácil de implementar.
Se você não faz idéia do que estou falando, vou dar um breve explicação…
Ler post completo »
escrito por Fabricio Braga em Jan 2006
Uma das principais dificuldades que programadores com pouca experiência em Java possuem é a manipulção de datas.
Aqui farei uma breve explicação com operações simples para manipulação do objeto java.util.Date.
Uma das principais classes que utilizamos quando manipulamos data em Java é a classe SimpleDateFormat. Ela é um subclasse de DateFormat, e nos fornece construtores com parâmetros que tornam bem flexível a formatação da data, conforme veremos nos exemplos a seguir…
Ler post completo »
escrito por Fabricio Braga em Jan 2006
Um singleton é um objeto que não pode ser instanciado.
Em Java precisamos da instância de um objeto para que possamos usa-lo. Bem, um sigleton pode ser criado, mas não é possível instancia-lo. Isso significa que o sigleton terá controle sobre a forma como ele é criado.
Quando usar um Singleton? Quando planejamos um sistema, nós podemos ter a necessidade de controlar como um objeto é usado e prevenir que outros (incluindo nós mesmos) façam cópias ou criem novas instâncias.
Na prática é comum termos objetos que centralizem dados sobre configurações da nossa aplicação. É evidente que um objeto desse tipo não poderá ter mais de uma instância, nem cópias, incluindo até possíveis Threads. É necessário prevenir isso… Ler post completo »