SlideShare uma empresa Scribd logo
1 de 30
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

Mais conteúdo relacionado

Mais procurados

Junções e subconsultas
Junções e subconsultasJunções e subconsultas
Junções e subconsultas
julianaveregue
 
Conceitos Iniciais de Linguagens de Programação
Conceitos Iniciais de Linguagens de ProgramaçãoConceitos Iniciais de Linguagens de Programação
Conceitos Iniciais de Linguagens de Programação
Sidney Roberto
 
Engenharia de Software - Conceitos e Modelos de Desenvolvimento
Engenharia de Software - Conceitos e Modelos de Desenvolvimento Engenharia de Software - Conceitos e Modelos de Desenvolvimento
Engenharia de Software - Conceitos e Modelos de Desenvolvimento
Sérgio Souza Costa
 

Mais procurados (20)

Curso de Java: Introdução a lambda e Streams
Curso de Java: Introdução a lambda e StreamsCurso de Java: Introdução a lambda e Streams
Curso de Java: Introdução a lambda e Streams
 
Junções e subconsultas
Junções e subconsultasJunções e subconsultas
Junções e subconsultas
 
Node.js - #1 - Introdução - Rodrigo Branas
Node.js - #1 - Introdução - Rodrigo BranasNode.js - #1 - Introdução - Rodrigo Branas
Node.js - #1 - Introdução - Rodrigo Branas
 
Padrões de Projeto de Software
Padrões de Projeto de SoftwarePadrões de Projeto de Software
Padrões de Projeto de Software
 
Conceitos Iniciais de Linguagens de Programação
Conceitos Iniciais de Linguagens de ProgramaçãoConceitos Iniciais de Linguagens de Programação
Conceitos Iniciais de Linguagens de Programação
 
Java básico - Módulo 04: Estruturas de controle
Java   básico - Módulo 04:  Estruturas de controleJava   básico - Módulo 04:  Estruturas de controle
Java básico - Módulo 04: Estruturas de controle
 
Aula 01 - Revisão Algoritmo 1
Aula 01  - Revisão Algoritmo 1Aula 01  - Revisão Algoritmo 1
Aula 01 - Revisão Algoritmo 1
 
Introdução a Gerência de Configuração de Software
Introdução a Gerência de Configuração de SoftwareIntrodução a Gerência de Configuração de Software
Introdução a Gerência de Configuração de Software
 
Java modulo 01 - Introdução
Java modulo 01 - IntroduçãoJava modulo 01 - Introdução
Java modulo 01 - Introdução
 
FDD
FDDFDD
FDD
 
Aula 2 introdução a sistemas distribuídos
Aula 2   introdução a sistemas distribuídosAula 2   introdução a sistemas distribuídos
Aula 2 introdução a sistemas distribuídos
 
Modelos de Processo de Software Parte 1
Modelos de Processo de Software Parte 1Modelos de Processo de Software Parte 1
Modelos de Processo de Software Parte 1
 
SpringOne Tour: Spring Boot 3 and Beyond
SpringOne Tour: Spring Boot 3 and BeyondSpringOne Tour: Spring Boot 3 and Beyond
SpringOne Tour: Spring Boot 3 and Beyond
 
Arquitetura MVC
Arquitetura MVCArquitetura MVC
Arquitetura MVC
 
Introduction to .NET Core
Introduction to .NET CoreIntroduction to .NET Core
Introduction to .NET Core
 
Engenharia de Software - Conceitos e Modelos de Desenvolvimento
Engenharia de Software - Conceitos e Modelos de Desenvolvimento Engenharia de Software - Conceitos e Modelos de Desenvolvimento
Engenharia de Software - Conceitos e Modelos de Desenvolvimento
 
Aula 1 - Introdução a POO
Aula 1 -  Introdução a POOAula 1 -  Introdução a POO
Aula 1 - Introdução a POO
 
Programação Orientada a Aspectos
Programação Orientada a AspectosProgramação Orientada a Aspectos
Programação Orientada a Aspectos
 
Programação orientada a objetos
Programação orientada a objetosProgramação orientada a objetos
Programação orientada a objetos
 
Docker multi-stage build
Docker multi-stage buildDocker multi-stage build
Docker multi-stage build
 

Destaque

Developing Portlets
Developing PortletsDeveloping Portlets
Developing Portlets
sydeburn
 
Presentation Spring, Spring MVC
Presentation Spring, Spring MVCPresentation Spring, Spring MVC
Presentation Spring, Spring MVC
Nathaniel Richand
 
Java Spring MVC Framework with AngularJS by Google and HTML5
Java Spring MVC Framework with AngularJS by Google and HTML5Java Spring MVC Framework with AngularJS by Google and HTML5
Java Spring MVC Framework with AngularJS by Google and HTML5
Tuna Tore
 
Imagenes y paisajes del mundo
Imagenes y paisajes del mundoImagenes y paisajes del mundo
Imagenes y paisajes del mundo
camargo1963
 
Guerrero- Group Generator
Guerrero- Group GeneratorGuerrero- Group Generator
Guerrero- Group Generator
TLBaldwin1
 
Classroom rules
Classroom rulesClassroom rules
Classroom rules
Eric Cruz
 
Effective Usage of Social Media in Dark Skies Awareness
Effective Usage of Social Media in Dark Skies AwarenessEffective Usage of Social Media in Dark Skies Awareness
Effective Usage of Social Media in Dark Skies Awareness
darkskyamee
 

Destaque (20)

Primeiros passos para o novo desenvolvedor android
Primeiros passos para o novo desenvolvedor androidPrimeiros passos para o novo desenvolvedor android
Primeiros passos para o novo desenvolvedor android
 
Introdução Ao Spring Com Spring Boot
Introdução Ao Spring Com Spring BootIntrodução Ao Spring Com Spring Boot
Introdução Ao Spring Com Spring Boot
 
Developing Portlets
Developing PortletsDeveloping Portlets
Developing Portlets
 
IEEE Day 2013 Baku - Spring Framework overview and Spring MVC
IEEE Day 2013 Baku - Spring Framework overview and Spring MVCIEEE Day 2013 Baku - Spring Framework overview and Spring MVC
IEEE Day 2013 Baku - Spring Framework overview and Spring MVC
 
J2 ee
J2 eeJ2 ee
J2 ee
 
2 ModéLe Mvc
2 ModéLe Mvc2 ModéLe Mvc
2 ModéLe Mvc
 
Spring MVC framework
Spring MVC frameworkSpring MVC framework
Spring MVC framework
 
Presentation Spring, Spring MVC
Presentation Spring, Spring MVCPresentation Spring, Spring MVC
Presentation Spring, Spring MVC
 
Java Spring MVC Framework with AngularJS by Google and HTML5
Java Spring MVC Framework with AngularJS by Google and HTML5Java Spring MVC Framework with AngularJS by Google and HTML5
Java Spring MVC Framework with AngularJS by Google and HTML5
 
Spring Framework - MVC
Spring Framework - MVCSpring Framework - MVC
Spring Framework - MVC
 
Imagenes y paisajes del mundo
Imagenes y paisajes del mundoImagenes y paisajes del mundo
Imagenes y paisajes del mundo
 
Guerrero- Group Generator
Guerrero- Group GeneratorGuerrero- Group Generator
Guerrero- Group Generator
 
Elizabeth paniccia
Elizabeth panicciaElizabeth paniccia
Elizabeth paniccia
 
mwoodcock_projectCpart2
mwoodcock_projectCpart2mwoodcock_projectCpart2
mwoodcock_projectCpart2
 
AdzVillage Advertising and Marketing Company
AdzVillage Advertising and Marketing CompanyAdzVillage Advertising and Marketing Company
AdzVillage Advertising and Marketing Company
 
Каталог на велочасти
Каталог на велочастиКаталог на велочасти
Каталог на велочасти
 
CIO Connect 2015 - Modernize your applications to drive organizational effici...
CIO Connect 2015 - Modernize your applications to drive organizational effici...CIO Connect 2015 - Modernize your applications to drive organizational effici...
CIO Connect 2015 - Modernize your applications to drive organizational effici...
 
รายละเอียดวิชาพระไตรปิฎกศึกษา(2)
รายละเอียดวิชาพระไตรปิฎกศึกษา(2)รายละเอียดวิชาพระไตรปิฎกศึกษา(2)
รายละเอียดวิชาพระไตรปิฎกศึกษา(2)
 
Classroom rules
Classroom rulesClassroom rules
Classroom rules
 
Effective Usage of Social Media in Dark Skies Awareness
Effective Usage of Social Media in Dark Skies AwarenessEffective Usage of Social Media in Dark Skies Awareness
Effective Usage of Social Media in Dark Skies Awareness
 

Semelhante a Introdução ao Spring Framework MVC

T@rget trust asp.net avançado
T@rget trust   asp.net avançadoT@rget trust   asp.net avançado
T@rget trust asp.net avançado
Targettrust
 
T@rget trust microsoft asp.net mvc
T@rget trust   microsoft asp.net mvcT@rget trust   microsoft asp.net mvc
T@rget trust microsoft asp.net mvc
Targettrust
 
Padrões Arquiteturais - MVC, MVP e MVVM
Padrões Arquiteturais - MVC, MVP e MVVMPadrões Arquiteturais - MVC, MVP e MVVM
Padrões Arquiteturais - MVC, MVP e MVVM
Aricelio Souza
 

Semelhante a Introdução ao Spring Framework MVC (20)

ASP.NET MVC
ASP.NET MVCASP.NET MVC
ASP.NET MVC
 
Introdução ao Asp.NET MVC
Introdução ao Asp.NET MVCIntrodução ao Asp.NET MVC
Introdução ao Asp.NET MVC
 
T@rget trust asp.net avançado
T@rget trust   asp.net avançadoT@rget trust   asp.net avançado
T@rget trust asp.net avançado
 
Microservices com Spring Boot e Spring Cloud Netflix
Microservices com Spring Boot e Spring Cloud NetflixMicroservices com Spring Boot e Spring Cloud Netflix
Microservices com Spring Boot e Spring Cloud Netflix
 
Introdução C#
Introdução C#Introdução C#
Introdução C#
 
01 - Introdução a programação para internet v1.1
01 - Introdução a programação para internet v1.101 - Introdução a programação para internet v1.1
01 - Introdução a programação para internet v1.1
 
TDC 2008 Spring Framework
TDC 2008 Spring FrameworkTDC 2008 Spring Framework
TDC 2008 Spring Framework
 
Desenvolvimento web com .NET Core - Meetup São Carlos
Desenvolvimento web com .NET Core - Meetup São CarlosDesenvolvimento web com .NET Core - Meetup São Carlos
Desenvolvimento web com .NET Core - Meetup São Carlos
 
Desenvolviemento web com ASP.Net e MVC
Desenvolviemento web com ASP.Net e MVCDesenvolviemento web com ASP.Net e MVC
Desenvolviemento web com ASP.Net e MVC
 
T@rget trust microsoft asp.net mvc
T@rget trust   microsoft asp.net mvcT@rget trust   microsoft asp.net mvc
T@rget trust microsoft asp.net mvc
 
Palestra ASP.NET MVC
Palestra ASP.NET MVCPalestra ASP.NET MVC
Palestra ASP.NET MVC
 
Padrões Arquiteturais - MVC, MVP e MVVM
Padrões Arquiteturais - MVC, MVP e MVVMPadrões Arquiteturais - MVC, MVP e MVVM
Padrões Arquiteturais - MVC, MVP e MVVM
 
Ebook AngularJS | Guia Introdutório
Ebook AngularJS | Guia Introdutório Ebook AngularJS | Guia Introdutório
Ebook AngularJS | Guia Introdutório
 
Introdução ASP.NET Core
Introdução ASP.NET CoreIntrodução ASP.NET Core
Introdução ASP.NET Core
 
Minicurso Aplicação Web Utilizando o Framework Laravel
Minicurso Aplicação Web Utilizando o Framework LaravelMinicurso Aplicação Web Utilizando o Framework Laravel
Minicurso Aplicação Web Utilizando o Framework Laravel
 
Docker para devs .NET
Docker para devs .NETDocker para devs .NET
Docker para devs .NET
 
Introdução ao Aspnet Core
Introdução ao Aspnet CoreIntrodução ao Aspnet Core
Introdução ao Aspnet Core
 
Entendendo a Tríade Model-View-Controller (MVC) utilizando padrões de projeto...
Entendendo a Tríade Model-View-Controller (MVC) utilizando padrões de projeto...Entendendo a Tríade Model-View-Controller (MVC) utilizando padrões de projeto...
Entendendo a Tríade Model-View-Controller (MVC) utilizando padrões de projeto...
 
Plataformas Monolíticas, redescobrindo o Desktop e sendo Ágil para Web.
Plataformas Monolíticas, redescobrindo o Desktop e sendo Ágil para Web.Plataformas Monolíticas, redescobrindo o Desktop e sendo Ágil para Web.
Plataformas Monolíticas, redescobrindo o Desktop e sendo Ágil para Web.
 
Usando MVC para agilizar o desenvolvimento
Usando MVC para agilizar o desenvolvimentoUsando MVC para agilizar o desenvolvimento
Usando MVC para agilizar o desenvolvimento
 

Mais de Messias Batista

Mais de Messias Batista (20)

Aula 02.1 FSI - Terminologia da Informática e Sistemas de Informação - os ele...
Aula 02.1 FSI - Terminologia da Informática e Sistemas de Informação - os ele...Aula 02.1 FSI - Terminologia da Informática e Sistemas de Informação - os ele...
Aula 02.1 FSI - Terminologia da Informática e Sistemas de Informação - os ele...
 
Aula 06.1 FSI - Papel da Informação nas Organizações
Aula 06.1 FSI - Papel da Informação nas OrganizaçõesAula 06.1 FSI - Papel da Informação nas Organizações
Aula 06.1 FSI - Papel da Informação nas Organizações
 
Aula 01.2 FSI - Ferramentas Importantes
Aula 01.2 FSI - Ferramentas ImportantesAula 01.2 FSI - Ferramentas Importantes
Aula 01.2 FSI - Ferramentas Importantes
 
Aula 08.2 - ALP - Vetores e Matrizes
Aula 08.2 - ALP - Vetores e MatrizesAula 08.2 - ALP - Vetores e Matrizes
Aula 08.2 - ALP - Vetores e Matrizes
 
Aula 08.1 - ALP - Linguagem C (Primeiros passos)
Aula 08.1 - ALP - Linguagem C (Primeiros passos)Aula 08.1 - ALP - Linguagem C (Primeiros passos)
Aula 08.1 - ALP - Linguagem C (Primeiros passos)
 
Aula 02.1 - Terminologia da informática e sistemas de informação- os elemento...
Aula 02.1 - Terminologia da informática e sistemas de informação- os elemento...Aula 02.1 - Terminologia da informática e sistemas de informação- os elemento...
Aula 02.1 - Terminologia da informática e sistemas de informação- os elemento...
 
Aula 04.1 - Operações Básicas no uso de microcomputadores- editores de texto...
 Aula 04.1 - Operações Básicas no uso de microcomputadores- editores de texto... Aula 04.1 - Operações Básicas no uso de microcomputadores- editores de texto...
Aula 04.1 - Operações Básicas no uso de microcomputadores- editores de texto...
 
Aula 06.1 - Estruturas de Repetição (while, for, repeat)
Aula 06.1 - Estruturas de Repetição (while, for, repeat)Aula 06.1 - Estruturas de Repetição (while, for, repeat)
Aula 06.1 - Estruturas de Repetição (while, for, repeat)
 
Aula 05.2 - Desvio Condicional Composto (se não se)
Aula 05.2 - Desvio Condicional Composto (se não se)Aula 05.2 - Desvio Condicional Composto (se não se)
Aula 05.2 - Desvio Condicional Composto (se não se)
 
Aula 05.1 - Estruturas de controle - Sequencial e Desvio Condicional Simples ...
Aula 05.1 - Estruturas de controle - Sequencial e Desvio Condicional Simples ...Aula 05.1 - Estruturas de controle - Sequencial e Desvio Condicional Simples ...
Aula 05.1 - Estruturas de controle - Sequencial e Desvio Condicional Simples ...
 
Aula 03.2 - Algoritmos, Diagramas de Blocos e Fluxograma
Aula 03.2 - Algoritmos, Diagramas de Blocos e FluxogramaAula 03.2 - Algoritmos, Diagramas de Blocos e Fluxograma
Aula 03.2 - Algoritmos, Diagramas de Blocos e Fluxograma
 
Aula 03.1 - Operadores Relacionais e Lógicos
Aula 03.1 - Operadores Relacionais e LógicosAula 03.1 - Operadores Relacionais e Lógicos
Aula 03.1 - Operadores Relacionais e Lógicos
 
Aula 01.3 - Fundamentos da Construção de Algoritmos e Programas
Aula 01.3 - Fundamentos da Construção de Algoritmos e ProgramasAula 01.3 - Fundamentos da Construção de Algoritmos e Programas
Aula 01.3 - Fundamentos da Construção de Algoritmos e Programas
 
Aula 02 - Tipos de dados, Variáveis, Constantes e Operadores Aritméticos
Aula 02 - Tipos de dados, Variáveis, Constantes e Operadores AritméticosAula 02 - Tipos de dados, Variáveis, Constantes e Operadores Aritméticos
Aula 02 - Tipos de dados, Variáveis, Constantes e Operadores Aritméticos
 
2017 08-11 - Androidos V - Minicurso - Introdução ao android
2017 08-11 - Androidos V - Minicurso - Introdução ao android2017 08-11 - Androidos V - Minicurso - Introdução ao android
2017 08-11 - Androidos V - Minicurso - Introdução ao android
 
Aula09 SD - Replicação e Consistência
Aula09 SD - Replicação e ConsistênciaAula09 SD - Replicação e Consistência
Aula09 SD - Replicação e Consistência
 
Aula08 - Sistemas Distribuídos - Sincronização
Aula08 - Sistemas Distribuídos - SincronizaçãoAula08 - Sistemas Distribuídos - Sincronização
Aula08 - Sistemas Distribuídos - Sincronização
 
Aula07 - Sistemas Distribuídos - Aula de Revisão da NP1
Aula07 - Sistemas Distribuídos - Aula de Revisão da NP1Aula07 - Sistemas Distribuídos - Aula de Revisão da NP1
Aula07 - Sistemas Distribuídos - Aula de Revisão da NP1
 
Aula02 Desenvolvimento em Ambiente Web - CSS 3
Aula02 Desenvolvimento em Ambiente Web - CSS 3Aula02 Desenvolvimento em Ambiente Web - CSS 3
Aula02 Desenvolvimento em Ambiente Web - CSS 3
 
Aula02 Tópicos em Ambiente Web - Produção de Páginas Web (conceitos)
Aula02 Tópicos em Ambiente Web - Produção de Páginas Web (conceitos)Aula02 Tópicos em Ambiente Web - Produção de Páginas Web (conceitos)
Aula02 Tópicos em Ambiente Web - Produção de Páginas Web (conceitos)
 

Último

Considerando as pesquisas de Gallahue, Ozmun e Goodway (2013) os bebês até an...
Considerando as pesquisas de Gallahue, Ozmun e Goodway (2013) os bebês até an...Considerando as pesquisas de Gallahue, Ozmun e Goodway (2013) os bebês até an...
Considerando as pesquisas de Gallahue, Ozmun e Goodway (2013) os bebês até an...
azulassessoria9
 
Artigo Científico - Estrutura e Formatação.ppt
Artigo Científico - Estrutura e Formatação.pptArtigo Científico - Estrutura e Formatação.ppt
Artigo Científico - Estrutura e Formatação.ppt
RogrioGonalves41
 
atividade-de-portugues-paronimos-e-homonimos-4º-e-5º-ano-respostas.pdf
atividade-de-portugues-paronimos-e-homonimos-4º-e-5º-ano-respostas.pdfatividade-de-portugues-paronimos-e-homonimos-4º-e-5º-ano-respostas.pdf
atividade-de-portugues-paronimos-e-homonimos-4º-e-5º-ano-respostas.pdf
Autonoma
 
Expansão Marítima- Descobrimentos Portugueses século XV
Expansão Marítima- Descobrimentos Portugueses século XVExpansão Marítima- Descobrimentos Portugueses século XV
Expansão Marítima- Descobrimentos Portugueses século XV
lenapinto
 

Último (20)

Considerando as pesquisas de Gallahue, Ozmun e Goodway (2013) os bebês até an...
Considerando as pesquisas de Gallahue, Ozmun e Goodway (2013) os bebês até an...Considerando as pesquisas de Gallahue, Ozmun e Goodway (2013) os bebês até an...
Considerando as pesquisas de Gallahue, Ozmun e Goodway (2013) os bebês até an...
 
classe gramatical Substantivo apresentação..pptx
classe gramatical Substantivo apresentação..pptxclasse gramatical Substantivo apresentação..pptx
classe gramatical Substantivo apresentação..pptx
 
TCC_MusicaComoLinguagemNaAlfabetização-ARAUJOfranklin-UFBA.pdf
TCC_MusicaComoLinguagemNaAlfabetização-ARAUJOfranklin-UFBA.pdfTCC_MusicaComoLinguagemNaAlfabetização-ARAUJOfranklin-UFBA.pdf
TCC_MusicaComoLinguagemNaAlfabetização-ARAUJOfranklin-UFBA.pdf
 
Aula 25 - A america espanhola - colonização, exploraçãp e trabalho (mita e en...
Aula 25 - A america espanhola - colonização, exploraçãp e trabalho (mita e en...Aula 25 - A america espanhola - colonização, exploraçãp e trabalho (mita e en...
Aula 25 - A america espanhola - colonização, exploraçãp e trabalho (mita e en...
 
Artigo Científico - Estrutura e Formatação.ppt
Artigo Científico - Estrutura e Formatação.pptArtigo Científico - Estrutura e Formatação.ppt
Artigo Científico - Estrutura e Formatação.ppt
 
M0 Atendimento – Definição, Importância .pptx
M0 Atendimento – Definição, Importância .pptxM0 Atendimento – Definição, Importância .pptx
M0 Atendimento – Definição, Importância .pptx
 
Slides Lição 6, Betel, Ordenança para uma vida de obediência e submissão.pptx
Slides Lição 6, Betel, Ordenança para uma vida de obediência e submissão.pptxSlides Lição 6, Betel, Ordenança para uma vida de obediência e submissão.pptx
Slides Lição 6, Betel, Ordenança para uma vida de obediência e submissão.pptx
 
E a chuva ... (Livro pedagógico para ser usado na educação infantil e trabal...
E a chuva ...  (Livro pedagógico para ser usado na educação infantil e trabal...E a chuva ...  (Livro pedagógico para ser usado na educação infantil e trabal...
E a chuva ... (Livro pedagógico para ser usado na educação infantil e trabal...
 
atividade-de-portugues-paronimos-e-homonimos-4º-e-5º-ano-respostas.pdf
atividade-de-portugues-paronimos-e-homonimos-4º-e-5º-ano-respostas.pdfatividade-de-portugues-paronimos-e-homonimos-4º-e-5º-ano-respostas.pdf
atividade-de-portugues-paronimos-e-homonimos-4º-e-5º-ano-respostas.pdf
 
Educação Financeira - Cartão de crédito665933.pptx
Educação Financeira - Cartão de crédito665933.pptxEducação Financeira - Cartão de crédito665933.pptx
Educação Financeira - Cartão de crédito665933.pptx
 
Historia de Portugal - Quarto Ano - 2024
Historia de Portugal - Quarto Ano - 2024Historia de Portugal - Quarto Ano - 2024
Historia de Portugal - Quarto Ano - 2024
 
Polígonos, Diagonais de um Polígono, SOMA DOS ANGULOS INTERNOS DE UM POLÍGON...
Polígonos, Diagonais de um Polígono, SOMA DOS ANGULOS INTERNOS DE UM  POLÍGON...Polígonos, Diagonais de um Polígono, SOMA DOS ANGULOS INTERNOS DE UM  POLÍGON...
Polígonos, Diagonais de um Polígono, SOMA DOS ANGULOS INTERNOS DE UM POLÍGON...
 
Tema de redação - As dificuldades para barrar o casamento infantil no Brasil ...
Tema de redação - As dificuldades para barrar o casamento infantil no Brasil ...Tema de redação - As dificuldades para barrar o casamento infantil no Brasil ...
Tema de redação - As dificuldades para barrar o casamento infantil no Brasil ...
 
Expansão Marítima- Descobrimentos Portugueses século XV
Expansão Marítima- Descobrimentos Portugueses século XVExpansão Marítima- Descobrimentos Portugueses século XV
Expansão Marítima- Descobrimentos Portugueses século XV
 
GUIA DE APRENDIZAGEM 2024 9º A - História 1 BI.doc
GUIA DE APRENDIZAGEM 2024 9º A - História 1 BI.docGUIA DE APRENDIZAGEM 2024 9º A - História 1 BI.doc
GUIA DE APRENDIZAGEM 2024 9º A - História 1 BI.doc
 
Slides Lição 6, CPAD, As Nossas Armas Espirituais, 2Tr24.pptx
Slides Lição 6, CPAD, As Nossas Armas Espirituais, 2Tr24.pptxSlides Lição 6, CPAD, As Nossas Armas Espirituais, 2Tr24.pptx
Slides Lição 6, CPAD, As Nossas Armas Espirituais, 2Tr24.pptx
 
Aula 1 - Psicologia Cognitiva, aula .ppt
Aula 1 - Psicologia Cognitiva, aula .pptAula 1 - Psicologia Cognitiva, aula .ppt
Aula 1 - Psicologia Cognitiva, aula .ppt
 
Apresentação ISBET Jovem Aprendiz e Estágio 2023.pdf
Apresentação ISBET Jovem Aprendiz e Estágio 2023.pdfApresentação ISBET Jovem Aprendiz e Estágio 2023.pdf
Apresentação ISBET Jovem Aprendiz e Estágio 2023.pdf
 
Conflitos entre: ISRAEL E PALESTINA.pdf
Conflitos entre:  ISRAEL E PALESTINA.pdfConflitos entre:  ISRAEL E PALESTINA.pdf
Conflitos entre: ISRAEL E PALESTINA.pdf
 
Poesiamodernismo fase dois. 1930 prosa e poesiapptx
Poesiamodernismo fase dois. 1930 prosa e poesiapptxPoesiamodernismo fase dois. 1930 prosa e poesiapptx
Poesiamodernismo fase dois. 1930 prosa e poesiapptx
 

Introdução ao Spring Framework MVC

  • 1. Spring Framework MVC Aderson Neto 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  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
  • 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
  • 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çã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
  • 11. 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. 12
  • 14. 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
  • 15. DispatcherServlet 15  Concebido em torno 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 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
  • 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 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
  • 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
  • 29. Recursos Necessários  JDK 8;  Eclipse Luna ou Mars;  Maven (Tutorial de Configuração do Maven) 29
  • 30. Spring Framework MVC Aderson Neto Iani Dias Messias Batista Tiago Guedes