conhecendo spring framework
DESCRIPTION
Introdução ao Spring Framework aborando IoC, AOP, WebServices, JPA e Spring-annotationsTRANSCRIPT
Igo G. Coelho
Conhecendo o Spring Framework
Agenda
• O que é o Spring Framework (Overview)• Dependency Injection e IoC• Desacoplamento (Trabalhando com Interfaces)• Integração com Struts 2 e JPA / Hibernate 3• AOP – Proxys Dinânicos e AspectJ• WebServices• Springannotations
O que é o Spring Framework?
• É um container IoC• É um framework para JavaEE• Possui integração com outros frameworks
com JSF, Struts 2, Hibernate, Quartz...• Suporte a AOP• Roda em containers web leves como
Tomcat, Jetty, Resin...
Overview
Dependency o quê?
A Dependecy Injection é uma forma especifica da inversão de controle onde a
maneira como os seus objetos obtem suas dependências é invertida.
IoC?
É um conjunto de praticas de programação em que o controle de sua aplicação é
invertido ou seja, o fluxo de tarefas que ela vai executar será definida por uma fonte
externa.
Em outras palavras...
O princípio de Hollywood“Não me ligue, deixa que eu te ligo”
Retirar do objeto o conhecimento de comoobter os outros objetos que colaboram com
ele, ou seja, suas dependências.
Principais tipos de injeção de dependência
Setter Injection:Setter Injection: A atribuição das dependências é feita através de métodos set(seguindo o padrão JavaBeans)
Constructor injection:Constructor injection: A atribuição das dependências é feita através do construtor da classe
Mão na massa...
Exemplo 1Exemplo 1
Buscando o desacoplamento
Objetos muito acoplados uns com os outros dificultam a manutenção, os testes e a
evolução do sistema.
Trabalhando com interfaces
Exemplo 2Exemplo 2
Spring na WEB com Struts 2 e JPA
Injetando as dependências nas Actions e definindo o acesso aos dados
Spring na WEB com Struts 2 e JPA
Exemplo WEBExemplo WEB
AOP
A Orientação a Aspectos (OA) é um paradigma que estende a Orientação a Objetos (e outros, como o paradigma
estruturado) introduzindo novas abstrações. Estes novos elementos são destinados a
suprir deficiências na capacidade de representação de algumas situações.
AOP com proxys dinâmicos
AOP com proxys dinâmicos
Exemplo Proxys Exemplo Proxys DinâmicosDinâmicos
AOP com AspectJ
Exemplo AspectJExemplo AspectJ
WebServices com XFire
Expondo seus métodos de negócio como serviços para a WEB com XFire
WebServices com XFire
Exemplo WExemplo WebServicesebServices
Que tal menos XML?
Exemplo WEB 2Exemplo WEB 2SpringannotationsSpringannotations
Conhecendo o Spring Framework
Perguntas?Perguntas?
Conhecendo o Spring Framework
Obrigado!Obrigado!
Referências
• Spring Framework• Struts 2 + Spring + JPA• Spring + XFire• AOP Proxys Dinâmicos• AOP Aspectj• Springannotations