domingo, 12 de janeiro de 2014

Produtividade com o Eclipse

Utiliza o Eclipse a pouco tempo? Hoje pretendo abordar um assunto bastante útil para o pessoal que utiliza o Eclipse  a pouco tempo. São os atalhos e facilitados que o mesmo disponibiliza e nos ajudam muito no dia a dia.

Iremos ver esses recursos implementando um simples cadastro de clientes de uma loja qualquer. Para que o post não fique muito grande não iremos persistir os nossos clientes em um banco de dados. A ideia nesse exemplo é simular o cadastramento de um cliente. Mãos a obra?

Vamos começar criando um projeto Java. Com o Eclipse aberto pressione Ctrl+N, selecione Java Project e clique em Next. Na próxima janela informe em Project name "Loja" e em Location o caminho onde você deseja salvar o seu projeto. Clique em Finish.

Com o projeto criado, agora vamos criar uma simples classe de domínio para representar os clientes da nossa loja. Pressione novamente Ctrl+N, porém agora selecione Class e clique em Next. Na próxima janela vamos informar no campo Name "Cliente" que é o nome da nossa classe e no campo Package vamos informar o pacote "com.blog.loja.dominio". Clique em Finish. Repare que criamos a classe e o pacote em uma única janela.

Nossa classe Cliente irá armazenar o nome do cliente, o e-mail e a data de nascimento do mesmo. Vamos criar os 3 atributos em nossa classe:
package com.blog.loja.dominio; public class Cliente { private String nome; private String email; private Date nascimento; }
Repare que o atributo nascimento ficou sublinhado no Eclipse. Isso ocorre devido a classe Date não pertencer ao pacote dessa classe, ou seja, "com.blog.loja.dominio", nem da classe "java.lang" que tem o import incluído automaticamente como é o caso da classe String. Dessa forma temos que adicionar o import indicando de que pacote essa classe pertence (no nosso caso utilizaremos o Date da classe java.util). Com o Eclipse temos 4 formas de fazer isso:

1. Posicionar o cursor do mouse sobre a classe Date e selecionar a opção Import 'Date' (java.util);
2. Clicar na lâmpada exibida no inicio da linha e selecionar a opção Import 'Date' (java.util);
3. Com o cursor posicionado sobre a linha do erro pressionar o Ctrl+1 e selecionar a opção Import 'Date' (java.util);
4. Em qualquer lugar da classe pressionar Ctrl+Shift+O, e selecionar java.util.Date.

Recomendo a última opção devido a ela resolver todos os problemas de import da nossa classe.

Repare também que criamos nossos atributos com o modificador de acesso private, isso se faz necessário para mantermos o encapsulamento de nossa classe. Porém como iremos manipular essas informações de fora da nossa classe? Através de getters e setters. Para isso basta pressionar Ctrl+3, digitar ggas (abreviatura de generate getters and setters) e pressionar Enter. Na janela que será exibida selecione os 3 atributos e clique em OK, pronto, todos os getter e setters foram criados para nós!
Porém iremos perceber que nossos métodos estarão todos colados, meio amontoados. Temos um atalho para isso também, pressione Ctrl+Shift+F para formatar o texto da classe e não esqueça de salvar todo o seu projeto utilizando o Ctrl+Shift+S.

Pronto, nossa classe de domínio de clientes está pronta para o uso:
package com.blog.loja.dominio; import java.util.Date; public class Cliente { private String nome; private String email; private Date nascimento; public String getNome() { return nome; } public void setNome(String nome) { this.nome = nome; } public String getEmail() { return email; } public void setEmail(String email) { this.email = email; } public Date getNascimento() { return nascimento; } public void setNascimento(Date nascimento) { this.nascimento = nascimento; } }
Agora vamos criar a nossa classe de testes para iniciarmos a manipulação dos nossos clientes. Novamente utilizaremos o Ctrl+N para criar nossa classe, informando o nome da classe "Teste" e o pacote "com.blog.loja.testes".

Depois de criada a classe, vamos criar o método main que executará os nossos testes. Basta digitar dentro do corpo da classe a palavra main, pressionar Ctrl+Espaço e selecionar a opção main - main method.
Dentro do método main vamos instanciar um cliente para ser manipulado. Digite new Cliente e pressione Ctrl+Espaço para os parênteses do construtor serem preenchidos automaticamente, logo após pressione Ctrl+1 e selecione a opção Assign statement to new local variable para retornar uma instancia do cliente a uma variável local. Agora vamos chamar os setters da classe Cliente e popular as informações dessa instância. Aqui novamente percebemos o auxílio do Eclipse, digite cliente. e verifique que os métodos existentes na classe serão sugeridos:
Popule sua instância fazendo uso do auto-completar do Eclipse, de forma que todas as informações seja preenchidas. Caso tenha dúvidas, disponilizo um exemplo abaixo:
public static void main(String[] args) { Cliente cliente = new Cliente(); cliente.setNome("Marcos Leon"); cliente.setEmail("leonpoa@gmail.com"); cliente.setNascimento(new GregorianCalendar(1985, 6, 21).getTime()); }
Agora para manipular essa instância vamos criar um gerenciador de clientes, que como o nome já diz será responsável por cadastrar novos clientes, enviar e-mails aos clientes, consultar clientes e etc. Complementando o código acima:
public static void main(String[] args) { Cliente cliente = new Cliente(); cliente.setNome("Marcos Leon"); cliente.setEmail("leonpoa@gmail.com"); cliente.setNascimento(new GregorianCalendar(1985, 6, 21).getTime()); GerenciadorDeClientes gerenciador = new GerenciadorDeClientes(); gerenciador.cadastrar(cliente); }
Repare que o sublinhado em vermelho novamente apareceu, agora no GerenciadorDeClientes, posicione o cursor do mouse sobre essa classe ou sobre a lâmpada para verificar o motivo GerenciadorDeClientes cannot be resolved to a type, ou seja, essa classe ainda não existe. Não tem problema, basta utilizar uma das 3 primeiras formas citadas acima e selecionar a opção Create Class, indicando agora o pacote "com.blog.loja.service", pronto a classe foi criada automaticamente para você.

Só que agora o sublinhado foi para a próxima linha, mais especificamente para o método cadastrar. Por que? Simplesmente por que esse método ainda não existe nessa classe. Novamente vamos clicar sobre o método e selecionando a opção Create method, vamos criá-lo.
public class GerenciadorDeClientes { public void cadastrar(Cliente cliente) { // TODO Auto-generated method stub } }

Perceba que o Eclipse é inteligente a ponto de identificar corretamente o tipo de argumento do método, já que nós estamos passando uma instância de cliente na classe Teste. Para finalizar vamos simular o cadastramento do cliente através de uma mensagem no console para o usuário. Digite syso, pressione Ctrl+Espaço para inserção automática do System.out.println() e digite uma frase qualquer semelhante a frase abaixo:
public void cadastrar(Cliente cliente) { System.out.println("O cliente " + cliente.getNome() + " foi cadastrado com sucesso!"); }
Espero que tenham gostado. Até a próxima!

Nenhum comentário:

Postar um comentário