Java Spring
Spring Framework: Introdução
08 de agosto de 2006 por Marlon Carvalho
O objetivo deste artigo é discutir e apresentar uma aplicação desenvolvida em Java adotando o framework Spring. Inicialmente, serão abordados alguns detalhes técnicos, principalmente sobre as tecnologias e padrões adotados pelo Spring. Posteriormente, então, uma aplicação será desenvolvida, visando apresentar, na prática, a adoção deste framework.
Introdução
Para obter um entendimento completo sobre as características do Spring, faz-se necessário compreender, inicialmente, o padrão Inversion of Control (Inversão de Controle), e sua variação denominada Dependency Injection (Inclusão de Dependência). Martin Fowler, em seu artigo entitulado Inversion of Control, leva a um entendimento mais aprofundado sobre este padrão, entretanto, é importante abordar aqui alguns detalhes.
A inversão de dependência é o que torna uma simples biblioteca de classes diferente de um framework. Uma biblioteca consiste em um conjunto de classes que um usuário instancia e utiliza seus métodos. Após a chamada ao método, o controle do fluxo da aplicação retorna para o usuário. Entretanto, em um framework este fluxo é diferente. Para utilizar um framework, código próprio da aplicação deve ser criado e mantido acessível ao framework, podendo ser através de classes que estendem classes do próprio framework. O framework, então, realiza a chamada deste código da aplicação. Após a utilização do código da aplicação, o fluxo retorna para ele.
Martin Fowler exemplifica este conceito através de interfaces de interação com o usuário (GUI). Em Swing, por exemplo, você define os tratadores de eventos para os vários campos da tela, enquanto o framework (Swing) contém o loop principal da aplicação.
Finalizando, temos ainda o padrão Dependency Injection, idealizado por Martin Fowler, que trata-se de uma especialização do padrão Inversion of Control. Aplicações como Spring e PicoContainer, denominados de lightweight