SlideShare une entreprise Scribd logo
1  sur  17
Aumento de Produtividade
 no Desenvolvimento de
 Aplicações em Java com
   Spring Framework

      Acadêmico: Fernando S. Godóy
   Orientadora: Prof.ª Késsia R. C. Marchi
O que é o Spring
             Framework
• Tecnologia que surgiu para resolver o problema de
  complexidade dos EJB´s.

• Composto por cerca de 20 módulos.

• Alguns Recursos:
• Possui Recurso Lazy Initialization.

• Implementa os Padrões de Inversão de Controle e
  Injeção de Dependência.
Inversão de Controle
Padrão em que designa-se um container ou outro
componente que possa controlar a execução.
Inversão de Controle
• No Spring os objetos são considerados Beans.

• Implementa o BeanFactory.

• Suporta dois padrões de objetos:
  Singleton e Prototype.
Injeção de Dependência
• Padrão que diz que uma classe não deve
  instanciar seus atributos, e sim que eles devem ser
  injetados.

• Vantagens em utilizar:

• Baixo acoplamento entre classes.

• Código Limpo e eficaz, pois os objetos são
  fornecidos com suas dependências.
Injeção de Dependência
• Suporta dois tipos de Injeção de Dependência:

• Constructor Injection que utiliza o próprio
  construtor da classe podendo este ter
  parâmetros ou não.

• Setter Injection utiliza os métodos setter para
  efetuar a injeção.

• Pode ser feita por annottation ou por
  configuração de um arquivo xml.
Estrutura
Spring Framework
Estrutura Spring
  Framework
Core Container

• Beans e Core: Peças Fundamentais que implementam o
  Container IOC. Implementam o BeanFactory.

• Context: Implementa uma forma de acesso ao objetos
  tendo como ApplicationContext seu foco principal.

• Expression Language: Permite Manipular objetos em
  tempo de execução.
AOP – Aspect Oriented Program


• AOP: Fornece suporte a AOP, permitindo a criação
  de Pointcuts e Method-Interceptors.

• Aspects: Fornece integração com AspectJ.

• Instrumentation: Fornece classes de instrumentação
  para ser usado em servidores de aplicativos.
Data Access/Integration
          •   JDBC: Fornece uma abstração de
              JDBC.

          •   ORM: Fornece camadas de
              integração para APIs de mapeamento
              objeto relacional.

          •   OXM: Fornece uma abstração para
              mapeamento objeto / XML.

          •   JMS: Contem recursos para produzir e
              consumir mensagens.

          •   Transactions: Suporta o
              gerenciamento de transações para
              classes que implementa interfaces
              especiais e POJO’s.
Web – MVC/Remoting
       • WEB: Oferece recursos
         básicos de integração Web.

       • Portlet: Fornece uma
         implementação MVC para
         um ambiente Portlet.

       • Servlet: Fornece uma clara
         separação entre código de
         domínio e formulários.

       • Struts: Permite suporte para
         integração com Struts.
Test

• Test: Fornece suporte para JUnit e
  TestNG, fornecendo também objetos Mock para
  testar seu código isoladamente.
Conclusão
      Spring é um framework com um potencial
indiscutível, e sua aplicação em projetos impacta em
     alto ganho de produtividade. Possui módulos
    bastante completos para desenvolvedores de
      aplicações Web e Desktop, permitindo ao
 programador dedicar-se à implementação da regra
 de negócio deixando que o Spring se encarregue do
                    resto do trabalho.
Dúvidas
Bibliografia
•   Balani, N. (2005) “Introduction to the Spring Framework”. <http://www.ibm.com/developerworks/web/library/wa-
    spring1/> acesso em 21 de junho 2011.

•   Calçado, P. (2008) “Curso Spring Framework”. <http://blog.flexdev.com.br/wp-content/uploads/spring/apostila-
    spring.pdf> acesso em 20 de maio 2011.

•   Carvalho, M. (2006) “Spring Framework Introdução”.
    <http://www.imasters.com.br/artigo/4497/java/spring_framework_introducao/> acesso em 19 de junho 2011.

•   Fowler, M. (2004) “Inversion of Control Containers and the Dependency Injection Pattern”.
    <http://www.martinfowler.com/articles/injection.html> acesso em 20 de julho 2011.

•   Johson, R. et Al (2011) “Spring Reference”. <http://static.springsource.org/spring/docs/3.1.x/spring-framework-
    reference/htmlsingle/spring-framework-reference.html> acesso em 17 de julho de 2011.

•   Pacheco, D. (2007) “Spring Framework 2.0 para Desenvolvimento de Aplicações em Java”.
    <http://pt.scribd.com/doc/18517573/Spring-Framework-20-Diego-Pacheco> acesso em 24 de julho 2011.

•   Schitini, I. et Al. (2011) “Spring Framework”. <http://kenai.com/projects/pos-sistemas-java-jf/sources/pos-java-
    ufjf-2009-2011/content/02-Daves/SpringFramework.doc?rev=48> acesso em 04 de junho 2011.

•   Weissmann, L. H. (2010) “Injeção de Dependência com Spring Framework”.
    <http://www.itexto.net/devkico/?p=859> acesso em 26/07/2011.
Obrigado!
   E-mail/MSN: fernandogodoy_18@msn.com

    Blog: www.fernandogodoy.worpress.com

            Twitter: @Fernandogodoy

Linked-in: http://www.linkedin.com/pub/fernando-
              god%C3%B3y/29/492/321

Contenu connexe

Tendances

Novidades do ASP.NET 5.X
Novidades do ASP.NET 5.XNovidades do ASP.NET 5.X
Novidades do ASP.NET 5.XEduardo Pires
 
Novidades do JSF: Um tour completo no JSF 2.2
Novidades do JSF: Um tour completo no JSF 2.2Novidades do JSF: Um tour completo no JSF 2.2
Novidades do JSF: Um tour completo no JSF 2.2Dr. Spock
 
Comunicação em Tempo Real com ASP.Net SignalR
Comunicação em Tempo Real com ASP.Net SignalRComunicação em Tempo Real com ASP.Net SignalR
Comunicação em Tempo Real com ASP.Net SignalREduardo Pires
 
Campus Party 2014 - Desenvolvimento Web com ASP.NET
Campus Party 2014 - Desenvolvimento Web com ASP.NETCampus Party 2014 - Desenvolvimento Web com ASP.NET
Campus Party 2014 - Desenvolvimento Web com ASP.NETEduardo Pires
 
Palestra Plataforma .NET na ETEC Marília
Palestra Plataforma .NET na ETEC MaríliaPalestra Plataforma .NET na ETEC Marília
Palestra Plataforma .NET na ETEC MaríliaElvis Fusco
 
Apostila desenvolvimento aplicações comerciais com C#
Apostila desenvolvimento aplicações comerciais com C#Apostila desenvolvimento aplicações comerciais com C#
Apostila desenvolvimento aplicações comerciais com C#Vinicius Vieira
 
Play Framework - Desenvolvendo Aplicações Web com Java sem Dor
Play Framework - Desenvolvendo Aplicações Web com Java sem DorPlay Framework - Desenvolvendo Aplicações Web com Java sem Dor
Play Framework - Desenvolvendo Aplicações Web com Java sem DorAllyson Barros
 
Anatomia do JSF, JavaServer Faces
Anatomia do JSF, JavaServer FacesAnatomia do JSF, JavaServer Faces
Anatomia do JSF, JavaServer FacesRafael Ponte
 
Como escolher o Framework Java para web?
Como escolher o Framework Java para web?Como escolher o Framework Java para web?
Como escolher o Framework Java para web?Anderson Araújo
 
As grandes novidades do JSF 2.0!
As grandes novidades do JSF 2.0!As grandes novidades do JSF 2.0!
As grandes novidades do JSF 2.0!Diego Santos
 
Introdução ao Spring Framework MVC
Introdução ao Spring Framework MVCIntrodução ao Spring Framework MVC
Introdução ao Spring Framework MVCMessias Batista
 
Desenvolvimento Web com CakePHP
Desenvolvimento Web com CakePHPDesenvolvimento Web com CakePHP
Desenvolvimento Web com CakePHPSérgio Vilar
 
Construindo aplicações leves e performáticas com ASP.NET Core 1.0
Construindo aplicações leves e performáticas com ASP.NET Core 1.0Construindo aplicações leves e performáticas com ASP.NET Core 1.0
Construindo aplicações leves e performáticas com ASP.NET Core 1.0Fabrício Lopes Sanchez
 
Programação para Web II: JavaServer Faces
Programação para Web II: JavaServer FacesProgramação para Web II: JavaServer Faces
Programação para Web II: JavaServer FacesAlex Camargo
 

Tendances (20)

Novidades do ASP.NET 5.X
Novidades do ASP.NET 5.XNovidades do ASP.NET 5.X
Novidades do ASP.NET 5.X
 
Novidades do JSF: Um tour completo no JSF 2.2
Novidades do JSF: Um tour completo no JSF 2.2Novidades do JSF: Um tour completo no JSF 2.2
Novidades do JSF: Um tour completo no JSF 2.2
 
Estudo de caso ASP.NET MVC e Silverlight
Estudo de caso ASP.NET MVC e SilverlightEstudo de caso ASP.NET MVC e Silverlight
Estudo de caso ASP.NET MVC e Silverlight
 
Comunicação em Tempo Real com ASP.Net SignalR
Comunicação em Tempo Real com ASP.Net SignalRComunicação em Tempo Real com ASP.Net SignalR
Comunicação em Tempo Real com ASP.Net SignalR
 
Campus Party 2014 - Desenvolvimento Web com ASP.NET
Campus Party 2014 - Desenvolvimento Web com ASP.NETCampus Party 2014 - Desenvolvimento Web com ASP.NET
Campus Party 2014 - Desenvolvimento Web com ASP.NET
 
Java basico
Java basicoJava basico
Java basico
 
Palestra Plataforma .NET na ETEC Marília
Palestra Plataforma .NET na ETEC MaríliaPalestra Plataforma .NET na ETEC Marília
Palestra Plataforma .NET na ETEC Marília
 
Apostila desenvolvimento aplicações comerciais com C#
Apostila desenvolvimento aplicações comerciais com C#Apostila desenvolvimento aplicações comerciais com C#
Apostila desenvolvimento aplicações comerciais com C#
 
Play Framework - Desenvolvendo Aplicações Web com Java sem Dor
Play Framework - Desenvolvendo Aplicações Web com Java sem DorPlay Framework - Desenvolvendo Aplicações Web com Java sem Dor
Play Framework - Desenvolvendo Aplicações Web com Java sem Dor
 
Anatomia do JSF, JavaServer Faces
Anatomia do JSF, JavaServer FacesAnatomia do JSF, JavaServer Faces
Anatomia do JSF, JavaServer Faces
 
Como escolher o Framework Java para web?
Como escolher o Framework Java para web?Como escolher o Framework Java para web?
Como escolher o Framework Java para web?
 
As grandes novidades do JSF 2.0!
As grandes novidades do JSF 2.0!As grandes novidades do JSF 2.0!
As grandes novidades do JSF 2.0!
 
Introdução ao Spring Framework MVC
Introdução ao Spring Framework MVCIntrodução ao Spring Framework MVC
Introdução ao Spring Framework MVC
 
Desenvolvimento Web com CakePHP
Desenvolvimento Web com CakePHPDesenvolvimento Web com CakePHP
Desenvolvimento Web com CakePHP
 
Construindo aplicações leves e performáticas com ASP.NET Core 1.0
Construindo aplicações leves e performáticas com ASP.NET Core 1.0Construindo aplicações leves e performáticas com ASP.NET Core 1.0
Construindo aplicações leves e performáticas com ASP.NET Core 1.0
 
Curso jsf
Curso jsfCurso jsf
Curso jsf
 
Programação para Web II: JavaServer Faces
Programação para Web II: JavaServer FacesProgramação para Web II: JavaServer Faces
Programação para Web II: JavaServer Faces
 
Introdução - Java WEB
Introdução - Java WEBIntrodução - Java WEB
Introdução - Java WEB
 
Prime Faces
Prime FacesPrime Faces
Prime Faces
 
Frameworks em Java
Frameworks em JavaFrameworks em Java
Frameworks em Java
 

Similaire à Aumento Produtividade Java Spring

Deep Dive sobre Entity Framework
Deep Dive sobre Entity FrameworkDeep Dive sobre Entity Framework
Deep Dive sobre Entity FrameworkLuciano Condé
 
Criando Aplicações .NET com o TheWebMind
Criando Aplicações .NET com o TheWebMindCriando Aplicações .NET com o TheWebMind
Criando Aplicações .NET com o TheWebMindJaydson Gomes
 
Modularidade na Web com Java: Desenvolvimento OSGI Web com Eclipse Virgo
Modularidade na Web com Java: Desenvolvimento OSGI Web com Eclipse VirgoModularidade na Web com Java: Desenvolvimento OSGI Web com Eclipse Virgo
Modularidade na Web com Java: Desenvolvimento OSGI Web com Eclipse VirgoRegis Machado
 
Angular5, vue js ou react redux (Trilha de Javascript - TDC 2018 )
Angular5, vue js ou react redux (Trilha de Javascript - TDC 2018 )Angular5, vue js ou react redux (Trilha de Javascript - TDC 2018 )
Angular5, vue js ou react redux (Trilha de Javascript - TDC 2018 )Getúlio Strapazzon
 
Dev401 novos recursos do microsoft visual basic 2010
Dev401 novos recursos do microsoft visual basic 2010Dev401 novos recursos do microsoft visual basic 2010
Dev401 novos recursos do microsoft visual basic 2010Alexandre Tarifa
 
Introdução ao Asp.NET MVC
Introdução ao Asp.NET MVCIntrodução ao Asp.NET MVC
Introdução ao Asp.NET MVCBenicio Ávila
 
Programação em Camadas com Entity Framework 4
Programação em Camadas com Entity Framework 4Programação em Camadas com Entity Framework 4
Programação em Camadas com Entity Framework 4Luciano Condé
 
Java Web Dev Introdução
Java Web Dev IntroduçãoJava Web Dev Introdução
Java Web Dev IntroduçãoMarcio Marinho
 
ASP.NET Core, .NET Core e EF Core: multiplataforma e otimizados para a nuvem
ASP.NET Core, .NET Core e EF Core: multiplataforma e otimizados para a nuvemASP.NET Core, .NET Core e EF Core: multiplataforma e otimizados para a nuvem
ASP.NET Core, .NET Core e EF Core: multiplataforma e otimizados para a nuvemRogério Moraes de Carvalho
 

Similaire à Aumento Produtividade Java Spring (20)

Framework web 01 - Aula UTFPR 2018
Framework web 01 - Aula UTFPR 2018Framework web 01 - Aula UTFPR 2018
Framework web 01 - Aula UTFPR 2018
 
Curso jsf
Curso jsfCurso jsf
Curso jsf
 
Deep Dive sobre Entity Framework
Deep Dive sobre Entity FrameworkDeep Dive sobre Entity Framework
Deep Dive sobre Entity Framework
 
Criando Aplicações .NET com o TheWebMind
Criando Aplicações .NET com o TheWebMindCriando Aplicações .NET com o TheWebMind
Criando Aplicações .NET com o TheWebMind
 
Modularidade na Web com Java: Desenvolvimento OSGI Web com Eclipse Virgo
Modularidade na Web com Java: Desenvolvimento OSGI Web com Eclipse VirgoModularidade na Web com Java: Desenvolvimento OSGI Web com Eclipse Virgo
Modularidade na Web com Java: Desenvolvimento OSGI Web com Eclipse Virgo
 
1409243945064
14092439450641409243945064
1409243945064
 
Angular5, vue js ou react redux (Trilha de Javascript - TDC 2018 )
Angular5, vue js ou react redux (Trilha de Javascript - TDC 2018 )Angular5, vue js ou react redux (Trilha de Javascript - TDC 2018 )
Angular5, vue js ou react redux (Trilha de Javascript - TDC 2018 )
 
Java Seminar
Java SeminarJava Seminar
Java Seminar
 
Asp net mvc
Asp net mvcAsp net mvc
Asp net mvc
 
MC - Java Enterprise Edition 6 (Java EE)
MC - Java Enterprise Edition 6 (Java EE)MC - Java Enterprise Edition 6 (Java EE)
MC - Java Enterprise Edition 6 (Java EE)
 
Dev401 novos recursos do microsoft visual basic 2010
Dev401 novos recursos do microsoft visual basic 2010Dev401 novos recursos do microsoft visual basic 2010
Dev401 novos recursos do microsoft visual basic 2010
 
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
 
BDD com SpecFlow
BDD com SpecFlowBDD com SpecFlow
BDD com SpecFlow
 
Bdd com spec flow
Bdd com spec flowBdd com spec flow
Bdd com spec flow
 
VIII TechTalk - Spring 3
VIII TechTalk - Spring 3VIII TechTalk - Spring 3
VIII TechTalk - Spring 3
 
Programação em Camadas com Entity Framework 4
Programação em Camadas com Entity Framework 4Programação em Camadas com Entity Framework 4
Programação em Camadas com Entity Framework 4
 
Java Web Dev Introdução
Java Web Dev IntroduçãoJava Web Dev Introdução
Java Web Dev Introdução
 
Palestra
PalestraPalestra
Palestra
 
ASP.NET Core, .NET Core e EF Core: multiplataforma e otimizados para a nuvem
ASP.NET Core, .NET Core e EF Core: multiplataforma e otimizados para a nuvemASP.NET Core, .NET Core e EF Core: multiplataforma e otimizados para a nuvem
ASP.NET Core, .NET Core e EF Core: multiplataforma e otimizados para a nuvem
 

Aumento Produtividade Java Spring

  • 1. Aumento de Produtividade no Desenvolvimento de Aplicações em Java com Spring Framework Acadêmico: Fernando S. Godóy Orientadora: Prof.ª Késsia R. C. Marchi
  • 2. O que é o Spring Framework • Tecnologia que surgiu para resolver o problema de complexidade dos EJB´s. • Composto por cerca de 20 módulos. • Alguns Recursos: • Possui Recurso Lazy Initialization. • Implementa os Padrões de Inversão de Controle e Injeção de Dependência.
  • 3. Inversão de Controle Padrão em que designa-se um container ou outro componente que possa controlar a execução.
  • 4. Inversão de Controle • No Spring os objetos são considerados Beans. • Implementa o BeanFactory. • Suporta dois padrões de objetos: Singleton e Prototype.
  • 5. Injeção de Dependência • Padrão que diz que uma classe não deve instanciar seus atributos, e sim que eles devem ser injetados. • Vantagens em utilizar: • Baixo acoplamento entre classes. • Código Limpo e eficaz, pois os objetos são fornecidos com suas dependências.
  • 6. Injeção de Dependência • Suporta dois tipos de Injeção de Dependência: • Constructor Injection que utiliza o próprio construtor da classe podendo este ter parâmetros ou não. • Setter Injection utiliza os métodos setter para efetuar a injeção. • Pode ser feita por annottation ou por configuração de um arquivo xml.
  • 8. Estrutura Spring Framework
  • 9. Core Container • Beans e Core: Peças Fundamentais que implementam o Container IOC. Implementam o BeanFactory. • Context: Implementa uma forma de acesso ao objetos tendo como ApplicationContext seu foco principal. • Expression Language: Permite Manipular objetos em tempo de execução.
  • 10. AOP – Aspect Oriented Program • AOP: Fornece suporte a AOP, permitindo a criação de Pointcuts e Method-Interceptors. • Aspects: Fornece integração com AspectJ. • Instrumentation: Fornece classes de instrumentação para ser usado em servidores de aplicativos.
  • 11. Data Access/Integration • JDBC: Fornece uma abstração de JDBC. • ORM: Fornece camadas de integração para APIs de mapeamento objeto relacional. • OXM: Fornece uma abstração para mapeamento objeto / XML. • JMS: Contem recursos para produzir e consumir mensagens. • Transactions: Suporta o gerenciamento de transações para classes que implementa interfaces especiais e POJO’s.
  • 12. Web – MVC/Remoting • WEB: Oferece recursos básicos de integração Web. • Portlet: Fornece uma implementação MVC para um ambiente Portlet. • Servlet: Fornece uma clara separação entre código de domínio e formulários. • Struts: Permite suporte para integração com Struts.
  • 13. Test • Test: Fornece suporte para JUnit e TestNG, fornecendo também objetos Mock para testar seu código isoladamente.
  • 14. Conclusão Spring é um framework com um potencial indiscutível, e sua aplicação em projetos impacta em alto ganho de produtividade. Possui módulos bastante completos para desenvolvedores de aplicações Web e Desktop, permitindo ao programador dedicar-se à implementação da regra de negócio deixando que o Spring se encarregue do resto do trabalho.
  • 16. Bibliografia • Balani, N. (2005) “Introduction to the Spring Framework”. <http://www.ibm.com/developerworks/web/library/wa- spring1/> acesso em 21 de junho 2011. • Calçado, P. (2008) “Curso Spring Framework”. <http://blog.flexdev.com.br/wp-content/uploads/spring/apostila- spring.pdf> acesso em 20 de maio 2011. • Carvalho, M. (2006) “Spring Framework Introdução”. <http://www.imasters.com.br/artigo/4497/java/spring_framework_introducao/> acesso em 19 de junho 2011. • Fowler, M. (2004) “Inversion of Control Containers and the Dependency Injection Pattern”. <http://www.martinfowler.com/articles/injection.html> acesso em 20 de julho 2011. • Johson, R. et Al (2011) “Spring Reference”. <http://static.springsource.org/spring/docs/3.1.x/spring-framework- reference/htmlsingle/spring-framework-reference.html> acesso em 17 de julho de 2011. • Pacheco, D. (2007) “Spring Framework 2.0 para Desenvolvimento de Aplicações em Java”. <http://pt.scribd.com/doc/18517573/Spring-Framework-20-Diego-Pacheco> acesso em 24 de julho 2011. • Schitini, I. et Al. (2011) “Spring Framework”. <http://kenai.com/projects/pos-sistemas-java-jf/sources/pos-java- ufjf-2009-2011/content/02-Daves/SpringFramework.doc?rev=48> acesso em 04 de junho 2011. • Weissmann, L. H. (2010) “Injeção de Dependência com Spring Framework”. <http://www.itexto.net/devkico/?p=859> acesso em 26/07/2011.
  • 17. Obrigado! E-mail/MSN: fernandogodoy_18@msn.com Blog: www.fernandogodoy.worpress.com Twitter: @Fernandogodoy Linked-in: http://www.linkedin.com/pub/fernando- god%C3%B3y/29/492/321