sexta-feira, 14 de setembro de 2012

JAVA + Spring + Netbeans 7.2

Após fazer alguns estudos com o Framework Spring, resolvi compartilhar esses estudos , já que não achei muitos exemplos da implementação desse Framework utilizando o Netbeans em vez do Eclipse como IDE de java. 


Conforme eu ir fazendo as lições, estarei atualizando os links (índices) nesse post.
Requisitos : 
- Java
Netbeans 7.2 
spring-3.2.0.M2

1) Preparando o ambiente de desenvolvimento
Após ter baixado os dois itens , descompacte a dist do Spring em alguma pasta: 

observe que alem dos pacotes, tem os fontes (*sources*) e a documentação (*docs*)
Figura 01 - Colocando a distribuição do framework em seu computador


2) E no Netbeans clique no menu Tools >> Ant Libraries
Figura 02 - Adicionando as blibliotecas

3) Clique em New Library e adicione a entrada p/ o novo framework
Figura 03 - Crie uma nova Library e de um nome, sugiro Spring-versao.release


4) Após a criação , Clique em Add JAR/Folder e adicione os 19 módulos do Spring e para o caso de Web Apps , adicione + 2 módulos que já vem com o NetBeans :
I - Pasta do NetBeans/ide/modules/org.apache-common-loggin.jar

II - Pasta do NetBeans/java/modules/ext/cgilib-2.2.jar



Figura 04 - Selecione a Library criada e clique no Add JAR/ Folder

Deve ficar assim : 
Figura 05  - Todas as libs que usaremos nos projetos do tutorial completo, antes de vermos a parte WEB

5) Adicione os sources na aba sources, e os docs na aba javadoc.
*Dica : você pode fazer um filtro pelo seu gerenciador de arquivos (Finder, Nautilus, Windows Explorer, etc...) para facilitar essa escolha e arrastar os módulos  p/ dentro da janela de add jar/Folder ,após incluir,  certifique-se de que as abas tem os 19 itens.

Sources

Figura 06 - Sources  

Figura 07 - Sources - Clique no Add JAR e na caixa que o NB abrir, arraste os itens da figura 6
Docs

Figura 08 - Javadocs 


Figura 09 - JavaDocs - Clique no Add JAR e na caixa que o NB abrir, arraste os itens da figura 8
Clique em Ok e pronto. O framework está disponível p/ usar em suas aplicações, ao fazer o Build ou Deploy de algum projeto, o NB já incluirá as dependências necessárias. 

6) P/ incluir o framework em seu projeto , clique com o botão direito no ícone do projeto (project explorer ctrl ou command + 1) , e escolha Properties



Figura 10 - Acessando as Propriedades do Projeto

Clique em Add Library e selecione a Library que acabamos de criar : spring-3.2.0-M2



Figura 11 - Adicionando as bibliotecas do Projeto

Veja que as libraries já estão incluídas no projeto e suas classes disponíveis p/ uso.



Figura 12 - Aba Project Explorer (command + 1 ou no pc ctrl + 1) mostrando as classes disponíveis 

7) Caso você vá trabalhar com Mysql , você pode também atualizar o driver que vem o NB . + detalhes em MysqlConnector
Figura 13 - o NB já fornece um connector, opcionalmente vc pode atualizá-lo aqui. que ja fica p/ os projetos que forem utilizar o MYSQL


e adicione o novo driver do mysql no projeto, caso vá acessar banco de dados mysql



Figura 14 - libs adicionadas


Essa é a configuração básica p/ poder acompanhar os próximos posts que farei da série : JAVA + Spring + Netbeans 7.2 . Adicionarei ao índice abaixo as lições, conforme serem escritas.


OBS: coloquei todas as libs dos Spring para facilitar a criação desse tutorial, é muito importante que em seus projetos reais, você utilize apenas as necessárias utilizadas, selecionado manualmente as Libs por projeto, ou criando uma Library que contenha apenas alguns pacotes do Spring.


Até a próxima


Lições escritas por enquanto: 

JSNBTut: Java Spring NetBeans Tutorial
Este aqui JSNBTut- Base
obs : estou fazendo um trabalho comigo mesmo para escrever tudo em português, paciência com meus erros de escrita...

JSNBTut - Lesson 01 - introdução ao Spring
JSNBTut - Lesson 02 - introdução ao gerenciamento de dependências no  Spring
JSNBTut - Lesson 03 - acessando banco de dados Mysql com beans e injeção de dependências
JSNBTut - Lesson 04 - outro jeito rápido de utilizar o Spring e Mysql sem utilizar Arquivos XML.
JSNBTut - Lesson 05 - comparação entre as implementações e introdução ao Swing. Jtable + DefaultTableModel e implementação de uma TableModel, analizando a aplicação com o Profile
JSNBTut - Lesson 06 - implementando um CRUD ao exemplo
JSNBTut - Lesson 07
- Finalizando o  CRUD completo em Java   utilizando Swing e  Spring
- Implementamos um validador com org.springframework.validation.Validator
- Implementamos um Tema
- Vimos como importar /exportar arquivos XML usando XStream
- Aprendemos a usar Anotações
- Implementamos um SplashScreen
- Aprendemos a distribuir nossa aplicação e customizar o build do projeto no build.xml
JSNBTut - Lesson08 :

- Organização de projetos WEB
- Implementar o Struts 1.3.10
- Criamos uma interface contatoDAO
- Implementamos a interface com a classe ContatoDaoImpl
- Criamos uma interface de Serviço ContatoService
- Implementamos a interface  com a classe ContatoServiceImpl
- Criamos as classes p/ atender os actions que são mapeados no arquivo struts-config.xml, que extendem a classe org.apache.struts.action.Action
- Definimos as actions e mappings no arquivo struts-config.xml
- Criamos uma view através de um arquivo index.jsp
- Criamos uma vier p/ mostrar os erros
- Integramos o Spring 3 com o Struts 2
- Definimos nossos beans no arquivo  action-servlet.xml
- Vimos nos logs a ordem em que as classes são instanciadas e como localizar erros
- Compartilhamos a conexão através de uma classe ConexaoMysql

JNSBTut - Lesson09

- Aprendemos a conectar no Mysql pelo NB e armazenar um driver
- Aprendemos a utilizar e configurar o Hibernate pelo NB
- Aprendemos a fazer a engenharia reversa das tabelas do banco para as configurações do Hibernate gerando os arquivos de para os mappings: Hibernate Mapping
na versão V1:
- Implementar o Struts 2.1.6
- Criamos uma interface contatoDAO
- Implementamos a interface com a classe ContatoDaoImpl
- Criamos uma interface de Serviço ContatoAction que extende com.opensymphony.xwork2.ActionSupport.ActionSupport implementando ModelDriven
- Definimos as actions e mappings no arquivo struts-config.xml e web.xml
- Removemos as libs repetidas adicionadas pelo NB
- Implementamos a interface  com a classe ContatoServiceImpl
- Criamos as classes p/ atender os actions que são mapeados no arquivo struts.xml, que extendem a classe org.apache.struts.action.Action
- Definimos as actions e mappings no arquivo struts.xml
- Criamos uma view através de um arquivo index.jsp
na versão V2:
- Habilitamos o módulo APR no TomCat
- introduzimos o  Full Hibernate Plugin's Session Factory
- introduzimos o conceito de BO (Business Objects)
- Criamos uma interface de Serviço ContatoSpringAction que extende com.opensymphony.xwork2.ActionSupport.ActionSupport
- Externalizamos as credenciais do banco em um arquivo.properties
- Implementamos os Beans no applicationContext.xml para o Spring poder utilizar seus recursos de Injeção de dependências
- Aprendemos a usar as anotações do HB Transactional e Session
- Criamos uma vier p/ mostrar os erros
- Integramos o Spring 3 com o Struts 2 e delegamos a responsabilidade dos beans p/ serem gerenciados pelo Spring
- Vimos nos logs a ordem em que as classes são instanciadas e como localizar erros
- Testamos os cadastro e vimos funcionando
        
Os arquivos de projeto serão hospedados no Google Drive. ao clicar nos links de download dos exemplos abrirá uma tela assim: Para baixar o arquivo clique no menu Arquivo>> Fazer Download
Figura 15 - Nova interface do serviço Google Docs. mostra o q tem dentro do zip


Um comentário:

Sorumbático disse...

Caro Mário. Parabéns pelo seu material. Posso dizer com certeza que é um dos mais bem escritos que já vi.
É impressionante a quantidade de tutoriais e artigos ABSOLUTAMENTE inúteis, mal escritos, sem sequência lógica e erros de português grosseiros.
Mas enfim, vamos ao que interessa.
Comecei a seguir os passos e fiquei entusiasmado. Porém, alguam pequenas dúvidas surgiram e não sei exatamente como prosseguir.
Vamos a elas:
Logo no início temos
"1) Preparando o ambiente de desenvolvimento
Após ter baixado os dois itens , descompacte a dist do Spring em alguma pasta:
observe que alem dos pacotes, tem os fontes (*sources*) e a documentação (*docs*)"

Só que baixei (Aliás, fou um traabalho do cão pra encontrar a área de downloads que referenciasse as versões disponíveis)

a versão "spring-3.2.0.M2-dist", que é a única que encontrei sem ter que sacrificar um filho no altar para conseguir.
Nela, as pastas são: "docs", "libs" e "schema". Olhando dentro de cada uma não encontrei "SOURCES".
Como proceder nessa situação?

MAIS UMA:

Ao simular os passos de adição da nova biblioteca, encontrei as seguintes já constando no navegador do netbeans:

1 - Spring Framework 2.5.6.SEC03
2 - Spring Framework 3.1.1.RELEASE
3 - Spring Web MVC 2.5.6.SEC03
4 - Spring Web MVC 3.0.6.RELEASE

Não servem pra nada em relação ao seu material? não atrapalham em nada?


Adiante. No passo 4 temos:

4) Após a criação , Clique em Add JAR/Folder e adicione os 19 módulos do Spring e para o caso de Web Apps,
adicione + 2 módulos que já vem com o NetBeans :
I - Pasta do NetBeans/ide/modules/org.apache-common-loggin.jar
II - Pasta do NetBeans/java/modules/ext/cgilib-2.2.jar


Minhas perguntas são: quais 19 módulos? onde estão?
Você citou "... e para o caso de Web Apps".
O seu tutorial contempla também web apps???? Não entendi

Forte abraço, e aguardo ansioso qualquer explicação!