SlideShare uma empresa Scribd logo
1 de 44
PRING TRUTS
...MAS PRIMEIRO...
MVC Model-View-Controller
Introdução ,[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object]
Model ,[object Object],[object Object],[object Object],[object Object],[object Object]
View ,[object Object],[object Object],[object Object],[object Object],[object Object]
Controller ,[object Object],[object Object],[object Object],[object Object],[object Object]
 
Model 2 ,[object Object],[object Object],[object Object],[object Object],[object Object]
Struts Framework padrão WEB
Apresentação do Framework ,[object Object],[object Object],[object Object]
Entendedo Struts
O que baixar para instalar ,[object Object],[object Object],[object Object],[object Object]
Como instalar ,[object Object],[object Object],[object Object],[object Object],[object Object],[object Object]
 
 
Para fazer sua própria aplicação Struts ,[object Object],[object Object],[object Object],[object Object],[object Object],[object Object]
 
Vantagens do Struts ,[object Object],[object Object],[object Object],[object Object]
Inside Struts... ,[object Object],[object Object],[object Object],[object Object]
Solução ,[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object]
Exemplo de Projeto Struts ,[object Object],[object Object]
 
 
Example.xml
 
 
 
 
Conclusão ,[object Object],[object Object],[object Object]
SPRING
Utilização ,[object Object],[object Object],[object Object],[object Object]
Conceitos Básicos ,[object Object],[object Object],[object Object]
Inversion of Control  Padrão de desenvolvimento de programas de computadores onde a sequência (controle) de chamadas dos métodos não é determinada pelo programador. Este controle é delegado a uma infraestrutura de software muitas vezes chamada de container. Esta é uma característica comum aos frameworks. http://pt.wikipedia.com/ Dependency_Injection (Inversão de Controle)
Dependency Injection No Spring o container se encarrega de "instanciar" classes de uma aplicação Java e definir as dependências entre elas através de um arquivo de configuração em formato XML. Dessa forma o Spring permite o baixo acoplamento entre classes de uma aplicação orientada a objetos. http://pt.wikipedia.com/ Dependency_Injection (Inclusão de Dependência)
Exemplo Codificação Vamos implementar o seguinte sistema de classes Normalmente e depois implementaremos Spring no Sistema. (Inclusão de Dependência)
Exemplo Codificação ,[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],(Inclusão de Dependência)
Exemplo Codificação ,[object Object],[object Object],[object Object],[object Object],[object Object],(Inclusão de Dependência) ,[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],/*Saida no Console*/ [MONITOR] Digite texto para impressão [TECLADO]>  Teste [IMPRESSORA] Teste [MONITOR]  Texto Impresso!
Dependency Injection Para fazer o Spring entender a dependência entre nossas classes, precisamos criar um arquivo de configuração. Este geralmente recebe o nome de  applicationContext.xml . Vejamos o arquivo que define nosso exemplo: (Inclusão de Dependência)
Exemplo Codificação (Inclusão de Dependência) ,[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],Classes Atributos
Exemplo Codificação ,[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],(Inclusão de Dependência) /*Saida no Console*/ [MONITOR] Digite texto para impressão [TECLADO]>  Teste [IMPRESSORA] Teste [MONITOR]  Texto Impresso!
O Arquivo ApplicationContext.xml O applicationContext.xml é onde são declarados os beans do Spring. O framework chama de beans todas as classes que gerencia. As classes precisam ser declaradas utilizando o elemento <bean> (Inclusão de Dependência)
<bean id=” identificador   do   bean ” class=” FQN   da   classe   que   implementa   o   bean ” > <property name=” nome do   atributo ” ref=” id   do   bean   que   satisfaz   a dependência ”/> </bean> FQN  significa Fully-Qualified Name, ou nome completo. O FQN de uma classe é o nome da classe com o seu pacote completo. Por exemplo, o FQN da classe  String  é  java.lang.String , o FQN da classe List  é  java.util.List .
O Arquivo ApplicationContext.xml No exemplo, declaramos os beans computadorBean, impressoraBean, monitorBean e tecladoBean. O bean  computadorBean  possui como atributos referências para os outros beans e estas referências são declaradas utilizando elementos property dentro da declaração do bean. Ao utilizar o elemento property, o Spring irá tentar utilizar um método set NomeDoAtributo () para preencher o bean com a dependência configurada. Muitas vezes, para não quebrar a invariante de um objeto é necessário que suas dependências sejam supridas durante a inicialização deste. Para estes casos, o Spring oferece a possibilidade de injetar as dependências utilizando o construtor do objeto ao invés de seus métodos mutadores (setters). (Inclusão de Dependência)

Mais conteúdo relacionado

Mais procurados

Computação Móvel 2012.2 - Android
Computação Móvel 2012.2 - AndroidComputação Móvel 2012.2 - Android
Computação Móvel 2012.2 - AndroidTiago Bencardino
 
Entendendo Framework Web com Python
Entendendo Framework Web com PythonEntendendo Framework Web com Python
Entendendo Framework Web com PythonPythOnRio
 
DevFest 2012 - Esquartejando sua Activity com Fragments
DevFest 2012 - Esquartejando sua Activity com FragmentsDevFest 2012 - Esquartejando sua Activity com Fragments
DevFest 2012 - Esquartejando sua Activity com FragmentsSuelen Carvalho
 
Android Core Aula 6 - Desenvolvimento de aplicações Android
Android Core Aula 6 -  Desenvolvimento de aplicações AndroidAndroid Core Aula 6 -  Desenvolvimento de aplicações Android
Android Core Aula 6 - Desenvolvimento de aplicações AndroidFelipe Silveira
 
Ecosistema spring a_plataforma_enterprise_jav
Ecosistema spring a_plataforma_enterprise_javEcosistema spring a_plataforma_enterprise_jav
Ecosistema spring a_plataforma_enterprise_javJulio Viegas
 
Java introdução ao eclipse
Java   introdução ao eclipseJava   introdução ao eclipse
Java introdução ao eclipseArmando Daniel
 
Classes csharp
Classes csharpClasses csharp
Classes csharpTiago
 
Apostila De Visualg
Apostila De VisualgApostila De Visualg
Apostila De Visualgecompo
 
Eclipse user guide
Eclipse user guideEclipse user guide
Eclipse user guideLucas Cruz
 

Mais procurados (19)

Java12
Java12Java12
Java12
 
Computação Móvel 2012.2 - Android
Computação Móvel 2012.2 - AndroidComputação Móvel 2012.2 - Android
Computação Móvel 2012.2 - Android
 
Entendendo Framework Web com Python
Entendendo Framework Web com PythonEntendendo Framework Web com Python
Entendendo Framework Web com Python
 
Ficha teorica aula_input_reader
Ficha teorica aula_input_readerFicha teorica aula_input_reader
Ficha teorica aula_input_reader
 
Java swingcomponentes
Java swingcomponentesJava swingcomponentes
Java swingcomponentes
 
DevFest 2012 - Esquartejando sua Activity com Fragments
DevFest 2012 - Esquartejando sua Activity com FragmentsDevFest 2012 - Esquartejando sua Activity com Fragments
DevFest 2012 - Esquartejando sua Activity com Fragments
 
Fragmentos
FragmentosFragmentos
Fragmentos
 
Android Core Aula 6 - Desenvolvimento de aplicações Android
Android Core Aula 6 -  Desenvolvimento de aplicações AndroidAndroid Core Aula 6 -  Desenvolvimento de aplicações Android
Android Core Aula 6 - Desenvolvimento de aplicações Android
 
Apache Struts
Apache StrutsApache Struts
Apache Struts
 
Ecosistema spring a_plataforma_enterprise_jav
Ecosistema spring a_plataforma_enterprise_javEcosistema spring a_plataforma_enterprise_jav
Ecosistema spring a_plataforma_enterprise_jav
 
Mvc delphi
Mvc delphiMvc delphi
Mvc delphi
 
Apostila java
Apostila javaApostila java
Apostila java
 
Java introdução ao eclipse
Java   introdução ao eclipseJava   introdução ao eclipse
Java introdução ao eclipse
 
Classes csharp
Classes csharpClasses csharp
Classes csharp
 
Apostila De Visualg
Apostila De VisualgApostila De Visualg
Apostila De Visualg
 
Eclipse user guide
Eclipse user guideEclipse user guide
Eclipse user guide
 
Pacote swing
Pacote swingPacote swing
Pacote swing
 
Java13
Java13Java13
Java13
 
Java 03
Java 03Java 03
Java 03
 

Semelhante a Spring & Struts

Entendendo Frameworks web com Python
Entendendo Frameworks web com PythonEntendendo Frameworks web com Python
Entendendo Frameworks web com PythonLuiz Aldabalde
 
Spring Boot - Uma app do 0 a Web em 30 minutos
Spring Boot - Uma app do 0 a Web em 30 minutosSpring Boot - Uma app do 0 a Web em 30 minutos
Spring Boot - Uma app do 0 a Web em 30 minutosphelypploch
 
Introdução à programação para Android
Introdução à programação para AndroidIntrodução à programação para Android
Introdução à programação para AndroidJorge Cardoso
 
Treinamento Básico Sobre ASP.NET MVC
Treinamento Básico Sobre ASP.NET MVCTreinamento Básico Sobre ASP.NET MVC
Treinamento Básico Sobre ASP.NET MVCMichael Costa
 
Sistema S2DG e Tecnologias Web
Sistema S2DG e Tecnologias WebSistema S2DG e Tecnologias Web
Sistema S2DG e Tecnologias WebElenilson Vieira
 
Django Módulo Básico Parte I - Desenvolvimento de uma aplicação Web
Django Módulo Básico Parte I - Desenvolvimento de uma aplicação WebDjango Módulo Básico Parte I - Desenvolvimento de uma aplicação Web
Django Módulo Básico Parte I - Desenvolvimento de uma aplicação Webantonio sérgio nogueira
 
VSSUMMIT 2023 - Como partir do zero e entregar uma API Profissional com .NET ...
VSSUMMIT 2023 - Como partir do zero e entregar uma API Profissional com .NET ...VSSUMMIT 2023 - Como partir do zero e entregar uma API Profissional com .NET ...
VSSUMMIT 2023 - Como partir do zero e entregar uma API Profissional com .NET ...Dextra Sistemas / Etec Itu
 
Mule esb com framework cucumber part 1
Mule esb com framework cucumber part 1Mule esb com framework cucumber part 1
Mule esb com framework cucumber part 1Jeison Barros
 
Apostila - Linguagem de Programação I
Apostila - Linguagem de Programação IApostila - Linguagem de Programação I
Apostila - Linguagem de Programação ISidney Roberto
 

Semelhante a Spring & Struts (20)

Tutorial struts
Tutorial strutsTutorial struts
Tutorial struts
 
Entendendo Frameworks web com Python
Entendendo Frameworks web com PythonEntendendo Frameworks web com Python
Entendendo Frameworks web com Python
 
Spring Boot - Uma app do 0 a Web em 30 minutos
Spring Boot - Uma app do 0 a Web em 30 minutosSpring Boot - Uma app do 0 a Web em 30 minutos
Spring Boot - Uma app do 0 a Web em 30 minutos
 
Sap – stablility and abstract principle
Sap – stablility and abstract principleSap – stablility and abstract principle
Sap – stablility and abstract principle
 
Java1
Java1Java1
Java1
 
Framework struts2v2.5
Framework struts2v2.5Framework struts2v2.5
Framework struts2v2.5
 
Apostila de-vb-net
Apostila de-vb-netApostila de-vb-net
Apostila de-vb-net
 
Asp net mvc
Asp net mvcAsp net mvc
Asp net mvc
 
Introdução à programação para Android
Introdução à programação para AndroidIntrodução à programação para Android
Introdução à programação para Android
 
Treinamento Básico Sobre ASP.NET MVC
Treinamento Básico Sobre ASP.NET MVCTreinamento Básico Sobre ASP.NET MVC
Treinamento Básico Sobre ASP.NET MVC
 
Sistema S2DG e Tecnologias Web
Sistema S2DG e Tecnologias WebSistema S2DG e Tecnologias Web
Sistema S2DG e Tecnologias Web
 
JavaServer Faces
JavaServer FacesJavaServer Faces
JavaServer Faces
 
Java Seminar
Java SeminarJava Seminar
Java Seminar
 
Java apostilha
Java apostilhaJava apostilha
Java apostilha
 
Django Módulo Básico Parte I - Desenvolvimento de uma aplicação Web
Django Módulo Básico Parte I - Desenvolvimento de uma aplicação WebDjango Módulo Básico Parte I - Desenvolvimento de uma aplicação Web
Django Módulo Básico Parte I - Desenvolvimento de uma aplicação Web
 
CURSO JAVA 01
CURSO JAVA 01CURSO JAVA 01
CURSO JAVA 01
 
VSSUMMIT 2023 - Como partir do zero e entregar uma API Profissional com .NET ...
VSSUMMIT 2023 - Como partir do zero e entregar uma API Profissional com .NET ...VSSUMMIT 2023 - Como partir do zero e entregar uma API Profissional com .NET ...
VSSUMMIT 2023 - Como partir do zero e entregar uma API Profissional com .NET ...
 
Web Services
Web ServicesWeb Services
Web Services
 
Mule esb com framework cucumber part 1
Mule esb com framework cucumber part 1Mule esb com framework cucumber part 1
Mule esb com framework cucumber part 1
 
Apostila - Linguagem de Programação I
Apostila - Linguagem de Programação IApostila - Linguagem de Programação I
Apostila - Linguagem de Programação I
 

Spring & Struts

  • 4.
  • 5.
  • 6.
  • 7.
  • 8.  
  • 9.
  • 11.
  • 13.
  • 14.
  • 15.  
  • 16.  
  • 17.
  • 18.  
  • 19.
  • 20.
  • 21.
  • 22.
  • 23.  
  • 24.  
  • 26.  
  • 27.  
  • 28.  
  • 29.  
  • 30.
  • 32.
  • 33.
  • 34. Inversion of Control Padrão de desenvolvimento de programas de computadores onde a sequência (controle) de chamadas dos métodos não é determinada pelo programador. Este controle é delegado a uma infraestrutura de software muitas vezes chamada de container. Esta é uma característica comum aos frameworks. http://pt.wikipedia.com/ Dependency_Injection (Inversão de Controle)
  • 35. Dependency Injection No Spring o container se encarrega de &quot;instanciar&quot; classes de uma aplicação Java e definir as dependências entre elas através de um arquivo de configuração em formato XML. Dessa forma o Spring permite o baixo acoplamento entre classes de uma aplicação orientada a objetos. http://pt.wikipedia.com/ Dependency_Injection (Inclusão de Dependência)
  • 36. Exemplo Codificação Vamos implementar o seguinte sistema de classes Normalmente e depois implementaremos Spring no Sistema. (Inclusão de Dependência)
  • 37.
  • 38.
  • 39. Dependency Injection Para fazer o Spring entender a dependência entre nossas classes, precisamos criar um arquivo de configuração. Este geralmente recebe o nome de applicationContext.xml . Vejamos o arquivo que define nosso exemplo: (Inclusão de Dependência)
  • 40.
  • 41.
  • 42. O Arquivo ApplicationContext.xml O applicationContext.xml é onde são declarados os beans do Spring. O framework chama de beans todas as classes que gerencia. As classes precisam ser declaradas utilizando o elemento <bean> (Inclusão de Dependência)
  • 43. <bean id=” identificador do bean ” class=” FQN da classe que implementa o bean ” > <property name=” nome do atributo ” ref=” id do bean que satisfaz a dependência ”/> </bean> FQN significa Fully-Qualified Name, ou nome completo. O FQN de uma classe é o nome da classe com o seu pacote completo. Por exemplo, o FQN da classe String é java.lang.String , o FQN da classe List é java.util.List .
  • 44. O Arquivo ApplicationContext.xml No exemplo, declaramos os beans computadorBean, impressoraBean, monitorBean e tecladoBean. O bean computadorBean possui como atributos referências para os outros beans e estas referências são declaradas utilizando elementos property dentro da declaração do bean. Ao utilizar o elemento property, o Spring irá tentar utilizar um método set NomeDoAtributo () para preencher o bean com a dependência configurada. Muitas vezes, para não quebrar a invariante de um objeto é necessário que suas dependências sejam supridas durante a inicialização deste. Para estes casos, o Spring oferece a possibilidade de injetar as dependências utilizando o construtor do objeto ao invés de seus métodos mutadores (setters). (Inclusão de Dependência)