Obrigado por visitar a devmedia.com.br!

Precisamos de você para divulgar nossos vídeos e cursos gratuitos para a comunidade.

Se você gosta da devmedia.com.br por favor dê-nos o seu clique para o Google+ e ajude outros desenvolvedores ao redor do mundo.



Obrigado por seu apoio!
Equipe DevMedia

sair sem compartilhar (x)
DevMedia - asp.net, Java, Delphi, SQL e web Design, tudo em um só lugar!
Bem vindo a DevMedia!
LOGIN:     SENHA:

  #Este é um post fechado

Este post está disponível para assinantes da Mobile magazine DIGITAL ou para quem possui Créditos DevMedia. Clique aqui para saber mais sobre como abrir este post!



Artigo da WebMobile 10 - Introdução ao Spring Framework 2.0

Artigo Originalmente publicado na WebMobile 10.

BRK##: 24 - 27

capa10.JPG

Clique aqui para ler todos os artigos desta edição

Introdução ao Spring Framework 2.0

O primeiro de três artigos, indo do básico até os recursos avançados do Spring Framework

Design patterns evoluem. Frameworks são o resultado do amadurecimento da tecnologia e do uso ostensivo de design patterns. Depois da primeira onda de “MVC”, soluções completas J2EE se apresentam na forma de “lightweight containers”. Estes são uma abordagem contraria ao que podemos encontrar nos servidores de aplicação J2EE. Esses servidores são normalmente cheios de recursos, pesados e ocupam muita memória, com o objetivo de fornecer uma infra-estrutura poderosa e complexa, necessária a uma pequena parte das aplicações desenvolvidas hoje em dia. Nesse artigo, veremos uma abordagem simples, leve e com todos os recursos necessários para a grande maioria das aplicações. Bem vindo ao Spring Framework.

Há alguns anos a programação orientada a componentes se tornou o Santo Graal da engenharia de software contemporânea. Vários fatores contribuíram para isto, como a alta complexidade da orientação a objeto em projetos de grande porte, devido a fatores como a herança de classes concretas e a grande quantidade de código necessária para configurar ersos objetos e fornecer as dependências de cada um deles (“plumbing code”) em aplicações maiores.

A arquitetura orientada a componentes emergiu para sanar estas limitações. Mas, aí aparece um outro problema: como gerenciar uma arquitetura baseada em dezenas (em alguns casos milhares) de componentes?

O Spring Framework é uma das respostas para estes problemas. A base do Spring Framework é um container de injeção de dependências (também conhecida como “Principio Hollywood”, alusão a uma máxima do mercado cinematográfico: “Não nos chame, nós chamamos você!”).

Para entender o funcionamento do Spring Framework e podermos utilizar com eficácia todos os recursos disponibilizados tanto para desenvolvimento web quanto para desenvolvimento Desktop, é necessário primeiro entender alguns conceitos que são a base deste framework, como, injeção de dependências, utilização de proxies de objetos e programação orientada a interfaces.

Neste primeiro artigo vamos nos concentrar principalmente nestes conceitos. Tentaremos mostrar como eles são implementados no framework e como eles podem ser usados durante o desenvolvimento de uma aplicação. Nos demais artigos dessa série, veremos como utilizar o Spring MVC no desenvolvimento de uma aplicação web, e com é feito o controle de transações, o suporte a AOP (aspect oriented programming), os recursos avançados do framework e como utilizar os pontos de extensão disponibilizados para facilitar ainda mais o desenvolvimento de aplicações.

Injeção de dependências

O principal componente disponibilizado pelo Spring Framework é um container de injeção de dependências. Por este motivo, é imprescindível que tenhamos bem claro o que isto significa e por que isto pode ajudar a simplificar o código das aplicações desenvolvidas.

Injeção de dependências consiste em uma abordagem de programação onde os relacionamentos de um objeto, também conhecidos como dependências, não são implementados pelo desenvolvedor. Estas dependências seriam fornecidas por algo parecido com uma fábrica de componentes, para a qual solicitamos uma instancia do componente desejado. É, portanto, responsabilidade dessa fábrica realizar as seguintes operações: cuidar do ciclo de vida do componente, configurar todas as suas propriedades, verificar se o componente solicitado depende de algum outro, e caso positivo, fornecer esta dependência para o componente automaticamente. Para que isto seja possível, a abordagem adotada pelo Spring Framework é separar a configuração do código da aplicação.

O Spring Framework utiliza um arquivo em formato XML para especificar o relacionamento entre os componentes e os valores para outras propriedades que precisem ser configuradas. Uma das premissas adotadas pelo framework é que Java Beans são uma ótima forma de configurar uma aplicação. Partindo disto, é possível utilizar o arquivo de configuração do Spring Framework para configurar o valor de qualquer tipo de propriedades de Java Beans, e não apenas relacionamento/dependências entre componentes.

Para facilitar o entendimento, vamos utilizar um exemplo de uma aplicação simples. Na Listagem 1 mostramos como ela poderia ser implementada sem um container de injeção de dependências e na Listagem 2 mostramos como seria sua implementação utilizando essa abordagem.

 

image002.jpg

Listagem 1. Aplicação sem Injeção de Dependências.

package oldexample;

import java.sql.Connection;

import java.sql.ResultSet;

import java.sql.SQLException;

import java.sql.Statement;

import org.springframework.jdbc.datasource.DriverManagerDataSource;

public class TesteMain {

         private Connection  conexao;

         private String                 



ATENÇÃO! A exibição deste artigo foi interrompida.


  #Este é um post fechado

Este post está disponível para assinantes da Mobile magazine DIGITAL ou para quem possui Créditos DevMedia. Clique aqui para saber mais sobre como abrir este post!







    0 COMENTÁRIO

[Fechar]

Este post é fechado - você precisa ter acesso ao post para incluir um comentário.


Nenhum comentário foi postado - seja o primeiro a comentar!



[Este post ainda não foi associado a uma sequência]
Autor
Rodrigo Urubatan Ferreira Jardim

Rodrigo Urubatan Ferreira Jardim (rodrigo@urubatan.com.br). Trabalha com desenvolvimento de sistemas desde 1997 e com Java desde 2002, trabalhando atualmente com pesquisa e desenvolvimento na Hewlett-Packard. Atua como palestrante e ministrante de cursos e mini-cursos sobre java, ruby, scala e desen...


Space do autor
Estatísticas
Favorito:
Comentários:
Feedback:
Utilidade:
0   0
[Fechar]

Você precisa estar logado para dar um feedback.

Clique aqui para efetuar o login
[Fechar]
Este post está disponível para assinantes da Mobile magazine DIGITAL ou para quem possui Créditos DevMedia.

  Conheça os planos de créditos DevMedia e visualize esse post agora mesmo!

Plano conveniência – Neste plano este post custa R$ 4,90 (Compre agora)
Esse plano permite que você compre somente um post, pagando por ele seu preço sem desconto.

Plano ocasional: Aqui este post custa: R$ 1,96 (assinante) ou R$ 2,45 (não-assinante)
Este plano é ideal para quem tem interesse em mais de um post. Você compra um mínimo de R$ 50,00 em créditos e ganha, em média, 50% de desconto no preço do post. Compre Créditos agora!

Assinatura de Créditos (Plano econômico) – Aqui este post custa R$ 1,47
Este plano é ideal para quem tem interesse em muitos posts. Com esse plano você compra R$ 180,00 em créditos e ganha, em média, 80% de desconto no preço do post. Assine este plano agora!

> Saiba mais sobre o Sistema de Créditos DevMedia
web-03
DevMedia  |  Anuncie  |  Fale conosco
Hospedagem web por Porta 80 Web Hosting
2012 - Todos os Direitos Reservados a web-03