Spring Framework MVC
Aderson Neto Iani Dias Messias Batista Tiago Guedes
Agenda
 O que é um framework?
 Spring
 Projetos do Spring (Main Projects)
 Fontes de Estudo
 Spring Framework MVC
 Módulos do Spring Framework
 Aplicação do Spring Framework
 Dependências do Spring (Maven)
2
O que é um framework?
É um conjunto de classes implementadas em
linguagem de programação usadas para auxiliar o
desenvolvimento de software.
https://pt.wikipedia.org/wiki/Framework
3
O que é o Spring?
4
Main Projects
 Spring IO Platform
 Spring Boot
 Spring Framework
 Spring XD
 Spring Cloud
 Spring Data
 Spring Integration
 Spring Batch
 Spring Security
 Spring Hateoas
 Spring Social
 Spring AMQP
 Spring Mobile
 Spring for Android
 Spring Web Flow
 Spring Web Services
 Spring LDAP
 Spring Session
 Spring Shell
5
Projeto Spring Framework
http://projects.spring.io/spring-framework/
6
Fontes de Estudo
 Spring Framework Reference Documentation;
 Spring Framework 4.3.0.BUILD-SNAPSHOT API;
 Spring Samples (https://goo.gl/Wdw9YJ);
 Apostilas;
 Livros.
7
Spring Framework (MVC)
8
Spring Framework (MVC)
 Modelo de programação e configuração global;
 Spring está focado na estrutura enquanto o programador
foca no desenvolvimento do código;
 Injeção de dependências;
9
Injeção de Dependência
Injeção de dependência é um padrão de
desenvolvimento utilizado quando é necessário
manter baixo o nível de acoplamento entre
diferentes módulos de um sistema.
http://blog.caelum.com.br/ioc-e-di-para-frameworks-mvc/
10
Injeção de Dependência
Nesta solução as dependências entre os módulos
não são definidas programaticamente, mas sim pela
configuração de uma infraestrutura de software
(container) que é responsável por "injetar" em cada
componente suas dependências declaradas.
http://blog.caelum.com.br/ioc-e-di-para-frameworks-mvc/
11
12
Característica do Spring Web MVC
13
Característica do Spring Web MVC
 Separação clara de funções;
 Cada validador, controlador, objeto tem sua função especializada e clara.
 Configuração poderosa e direta de ambas as classes de
enquadramento e aplicação como JavaBeans;
 Capacidade de configuração que permite fácil referência em diferentes contextos.
 Adaptabilidade, o não-intromissão, e flexibilidade;
 Configurações, por meio de anotações, para adaptar as classes a diversos cenários.
 Código de negócio reutilizável;
14
DispatcherServlet
15
 Concebido em torno de um Servlt central;
 Este Servlet se comunica com os
controladores;
 É integrado com o contêiner do Spring;
DispatcherServlet
 O DispatcherServlet é um servlet e tem que ser declarado
no web.xml;
 Necessário mapear as solicitações que ele deverá receber;
16
WebApplicationInitializer
 Interface fornecida pelo Spring MVC;
 Funciona mapeando o acesso ao servlet por meio de
código;
17
http://docs.spring.io/autorepo/docs/spring/3.2.x/spring-framework-reference/html/mvc.html#mvc-container-config
DispatcherServlet
18
Controladores
19
Aplicação do Framework Spring
20
Aplicação
Spring Web Aplication
 Gerenciamento de transações;
 Lógica de negócio implementadas por
POJOs
 Gerenciamento por contêiner;
 Suporte a envio de email;
 Suporte a validação;
 Apoio ao ORM (JPA, Hibernate).
21
Aplicação
Spring com framework de terceiros
 Pode ser integrado com uma camada
intermediária baseada no Spring, que
permite utilizar recursos deste.
 Para isso é necessário conectar a lógica
de negócio ao ApplicationContext e usar
o WebApplicationContext para integrar
a camada web.
22
Aplicação
Cenário de Uso Remoto
23
Dependências do Spring
24
Dependências do Spring
 Mantém o mínimo de dependências obrigatórias;
 A ideia é não precisar baixar um grande número de
bibliotecas;
 Para Injeção de Dependências, apenas a de logging é
necessária;
25
Dependências do Spring
Maven – Repositório Maven
26
Dependências do Spring
Maven – Repositório Spring
27
Momento da Prática
28
Recursos Necessários
 JDK 8;
 Eclipse Luna ou Mars;
 Maven (Tutorial de Configuração do Maven)
29
Spring Framework MVC
Aderson Neto Iani Dias Messias Batista Tiago Guedes

Introdução ao Spring Framework MVC

  • 1.
    Spring Framework MVC AdersonNeto Iani Dias Messias Batista Tiago Guedes
  • 2.
    Agenda  O queé um framework?  Spring  Projetos do Spring (Main Projects)  Fontes de Estudo  Spring Framework MVC  Módulos do Spring Framework  Aplicação do Spring Framework  Dependências do Spring (Maven) 2
  • 3.
    O que éum framework? É um conjunto de classes implementadas em linguagem de programação usadas para auxiliar o desenvolvimento de software. https://pt.wikipedia.org/wiki/Framework 3
  • 4.
    O que éo Spring? 4
  • 5.
    Main Projects  SpringIO Platform  Spring Boot  Spring Framework  Spring XD  Spring Cloud  Spring Data  Spring Integration  Spring Batch  Spring Security  Spring Hateoas  Spring Social  Spring AMQP  Spring Mobile  Spring for Android  Spring Web Flow  Spring Web Services  Spring LDAP  Spring Session  Spring Shell 5
  • 6.
  • 7.
    Fontes de Estudo Spring Framework Reference Documentation;  Spring Framework 4.3.0.BUILD-SNAPSHOT API;  Spring Samples (https://goo.gl/Wdw9YJ);  Apostilas;  Livros. 7
  • 8.
  • 9.
    Spring Framework (MVC) Modelo de programação e configuração global;  Spring está focado na estrutura enquanto o programador foca no desenvolvimento do código;  Injeção de dependências; 9
  • 10.
    Injeção de Dependência Injeçãode dependência é um padrão de desenvolvimento utilizado quando é necessário manter baixo o nível de acoplamento entre diferentes módulos de um sistema. http://blog.caelum.com.br/ioc-e-di-para-frameworks-mvc/ 10
  • 11.
    Injeção de Dependência Nestasolução as dependências entre os módulos não são definidas programaticamente, mas sim pela configuração de uma infraestrutura de software (container) que é responsável por "injetar" em cada componente suas dependências declaradas. http://blog.caelum.com.br/ioc-e-di-para-frameworks-mvc/ 11
  • 12.
  • 13.
  • 14.
    Característica do SpringWeb MVC  Separação clara de funções;  Cada validador, controlador, objeto tem sua função especializada e clara.  Configuração poderosa e direta de ambas as classes de enquadramento e aplicação como JavaBeans;  Capacidade de configuração que permite fácil referência em diferentes contextos.  Adaptabilidade, o não-intromissão, e flexibilidade;  Configurações, por meio de anotações, para adaptar as classes a diversos cenários.  Código de negócio reutilizável; 14
  • 15.
    DispatcherServlet 15  Concebido emtorno de um Servlt central;  Este Servlet se comunica com os controladores;  É integrado com o contêiner do Spring;
  • 16.
    DispatcherServlet  O DispatcherServleté um servlet e tem que ser declarado no web.xml;  Necessário mapear as solicitações que ele deverá receber; 16
  • 17.
    WebApplicationInitializer  Interface fornecidapelo Spring MVC;  Funciona mapeando o acesso ao servlet por meio de código; 17 http://docs.spring.io/autorepo/docs/spring/3.2.x/spring-framework-reference/html/mvc.html#mvc-container-config
  • 18.
  • 19.
  • 20.
  • 21.
    Aplicação Spring Web Aplication Gerenciamento de transações;  Lógica de negócio implementadas por POJOs  Gerenciamento por contêiner;  Suporte a envio de email;  Suporte a validação;  Apoio ao ORM (JPA, Hibernate). 21
  • 22.
    Aplicação Spring com frameworkde terceiros  Pode ser integrado com uma camada intermediária baseada no Spring, que permite utilizar recursos deste.  Para isso é necessário conectar a lógica de negócio ao ApplicationContext e usar o WebApplicationContext para integrar a camada web. 22
  • 23.
  • 24.
  • 25.
    Dependências do Spring Mantém o mínimo de dependências obrigatórias;  A ideia é não precisar baixar um grande número de bibliotecas;  Para Injeção de Dependências, apenas a de logging é necessária; 25
  • 26.
    Dependências do Spring Maven– Repositório Maven 26
  • 27.
    Dependências do Spring Maven– Repositório Spring 27
  • 28.
  • 29.
    Recursos Necessários  JDK8;  Eclipse Luna ou Mars;  Maven (Tutorial de Configuração do Maven) 29
  • 30.
    Spring Framework MVC AdersonNeto Iani Dias Messias Batista Tiago Guedes