Your SlideShare is downloading. ×
Plataforma Spring e Novidades Spring 3
Upcoming SlideShare
Loading in...5
×

Thanks for flagging this SlideShare!

Oops! An error has occurred.

×

Saving this for later?

Get the SlideShare app to save on your phone or tablet. Read anywhere, anytime - even offline.

Text the download link to your phone

Standard text messaging rates apply

Plataforma Spring e Novidades Spring 3

4,165
views

Published on

Slides usados pelo Dr. Spock durante Casual Class promovido pela Globalcode sobre a plataforma Spring.

Slides usados pelo Dr. Spock durante Casual Class promovido pela Globalcode sobre a plataforma Spring.

Published in: Technology

0 Comments
10 Likes
Statistics
Notes
  • Be the first to comment

No Downloads
Views
Total Views
4,165
On Slideshare
0
From Embeds
0
Number of Embeds
2
Actions
Shares
0
Downloads
2
Comments
0
Likes
10
Embeds 0
No embeds

Report content
Flagged as inappropriate Flag as inappropriate
Flag as inappropriate

Select your reason for flagging this presentation as inappropriate.

Cancel
No notes for slide

Transcript

  • 1. Plataforma Spring Alberto Lemos (Dr. Spock) Renato Bellia Ricardo Jun Julio Viegas Globalcode – Open4education
  • 2. @bout (Dr. Spock) Físico formado pela UFV 15 anos experiência aplicações Web +10 anos experiência com Java Instrutor da Globalcode Campinas e São Paulo +1200 horas de treinamentos ministrados Membro do SBUG – Spring Brasil User Group Palestrante Globalcode, SouJava, JustJava e JavaOne Certificações: SCJP e SCWCD Globalcode – Open4education
  • 3. Agenda do Casual Class Plataforma Spring & Novidades do Spring 3 Alberto Lemos (Dr. Spock) Spring Roo Renato Bellia (Dr. Roo) Tools: Spring Tool Suite, tc Server e dm Server Ricardo Jun (Dr. Tool) Spring + Cloud Computing Julio Viegas (Dr. Cloud) Lançamento do Spring Brasil User Group Alberto Lemos (Dr. Spock) Globalcode – Open4education
  • 4. Plataforma Spring & Novidades do Spring 3 Alberto Lemos (Dr. Spock) Instrutor Globalcode Arquiteto Bacanão Globalcode – Open4education
  • 5. Agenda Sobre a Plataforma Spring Novidades do Spring Framework 3.0 Epílogo: Resumo & Futuro Perguntas & Respostas: Durante a pizza, uva & cevada Globalcode – Open4education
  • 6. Sobre a Plataforma Spring Globalcode – Open4education
  • 7. A Plataforma Spring Globalcode – Open4education
  • 8. A Plataforma Spring Globalcode – Open4education
  • 9. A Plataforma Spring Globalcode – Open4education
  • 10. A Plataforma Spring Spring Framework Globalcode – Open4education
  • 11. A Plataforma Spring Spring Spring Webflow Framework Globalcode – Open4education
  • 12. A Plataforma Spring Spring Spring Webflow Framework Spring Security Globalcode – Open4education
  • 13. A Plataforma Spring Spring Spring Webflow Framework Spring Security Spring dm Globalcode – Open4education
  • 14. A Plataforma Spring Spring Spring Webflow Framework Spring Security Spring Spring dm BlaseDS Globalcode – Open4education
  • 15. A Plataforma Spring Spring Spring Webflow Framework Spring Spring Security Web Service Spring Spring dm BlaseDS Globalcode – Open4education
  • 16. A Plataforma Spring Spring Spring Spring Webflow JavaConfig Framework Spring Spring Security Web Service Spring Spring dm BlaseDS Globalcode – Open4education
  • 17. A Plataforma Spring Spring .NET Spring Spring Spring Webflow JavaConfig Framework Spring Spring Security Web Service Spring Spring dm BlaseDS Globalcode – Open4education
  • 18. A Plataforma Spring Spring Integration Spring .NET Spring Spring Spring Webflow JavaConfig Framework Spring Spring Security Web Service Spring Spring dm BlaseDS Globalcode – Open4education
  • 19. A Plataforma Spring Spring Spring Batch Integration Spring .NET Spring Spring Spring Webflow JavaConfig Framework Spring Spring Security Web Service Spring Spring dm BlaseDS Globalcode – Open4education
  • 20. A Plataforma Spring Spring Spring Batch Integration Spring Spring IDE .NET Spring Spring Spring Webflow JavaConfig Framework Spring Spring Security Web Service Spring Spring dm BlaseDS Globalcode – Open4education
  • 21. A Plataforma Spring Spring Spring Batch Integration Spring Spring IDE Spring .NET ROO Spring Spring Spring Webflow JavaConfig Framework Spring Spring Security Web Service Spring Spring dm BlaseDS Globalcode – Open4education
  • 22. A Plataforma Spring Spring Framework Globalcode – Open4education
  • 23. A Plataforma Spring Spring Tool Suite Spring Framework Globalcode – Open4education
  • 24. A Plataforma Spring Spring tc Server Tool Suite (Tomcat) Spring Framework Globalcode – Open4education
  • 25. A Plataforma Spring Spring tc Server Tool Suite (Tomcat) dm Spring Framework Server Globalcode – Open4education
  • 26. A Plataforma Spring Spring tc Server Tool Suite (Tomcat) dm Spring Framework Server Groovy Globalcode – Open4education
  • 27. A Plataforma Spring Spring tc Server Tool Suite (Tomcat) dm Spring Framework Server Groovy Grails Globalcode – Open4education
  • 28. A Plataforma Spring Spring tc Server Tool Suite (Tomcat) dm Spring Framework Server Groovy Hyperic Grails HQ Globalcode – Open4education
  • 29. A Plataforma Spring Spring tc Server Tool Suite (Tomcat) dm Spring Hyperic Framework Server IQ Groovy Hyperic Grails HQ Globalcode – Open4education
  • 30. A Plataforma Spring Spring tc Server Tool Suite Cloud (Tomcat) Foundry dm Spring Hyperic Framework Server IQ Groovy Hyperic Grails HQ Globalcode – Open4education
  • 31. A Plataforma Spring Spring tc Server Tool Suite Cloud (Tomcat) Foundry dm Spring Hyperic Framework Server IQ Groovy Hyperic Grails HQ Globalcode – Open4education
  • 32. Novidades do Spring Framework 3.0 Globalcode – Open4education
  • 33. Novidades Spring 3 Suporte a Java SE 5+ Spring Expression Language (SpEL) Suporte a REST Suporte a Portlet 2.0 Validação declarativa do modelo Spring 3.0 e Java EE 6 Pruning & Deprecation Outras melhorias Globalcode – Open4education
  • 34. Novidades Spring 3 Suporte a Java SE 5+ Spring Expression Language (SpEL) Suporte a REST Suporte a Portlet 2.0 Validação declarativa do modelo Spring 3.0 e Java EE 6 Pruning & Deprecation Outras melhorias Globalcode – Open4education
  • 35. Suporte a Java SE 5+ Uso de Generics TaskExecutor do Spring extende java.util.concurrent.Executor AsyncTaskExecutor suporta java.util.concurrent. Future Listener tipado: ApplicationListener<E> ApplicationEventMulticaster detecta tipo de evento Globalcode – Open4education
  • 36. Spring JavaConfig Incorporou o projeto Spring JavaConfig Classes de configuração com @Configuration Métodos fábrica anotados com @Bean Globalcode – Open4education
  • 37. Spring JavaConfig Criação de meta anotações Uso combinado com anotações de espereótipo Detecção automática (nenhuma configuração!) Globalcode – Open4education
  • 38. Reestruturação Incorporou o módulo Object/XML Mapping (OXM) Vindo do projeto Spring Web Services Suporta as conversões usadas no REST Implementa acesso via SQL XML Infra estrutura de conversão de tipos Java Conversores de tipo e formatadores "stateless" do Java SE 5+ Substituindo PropertyEditors padrões do JDK Globalcode – Open4education
  • 39. Spring Expression Language (SpEL) Linguagem de expressões baseada no Unified EL Sintaxe similar às ELs usadas no JSP/JSF #{ expr } Suporta: Literais, operadores (bool, rel, =, ?:, elvis, safe, ponto), regex, variáveis, objetos implícitos, projeção/seleção em coleções, invocar métodos, invocar construtores e definição de funções Extensível através de implementação de SPI Todos os beans definidos são objetos implícitos Globalcode – Open4education
  • 40. Spring Expression Language (SpEL) #{ 'Hello World'.concat(“!”) } #{ 'Hello World'.bytes.length } #{ new String('Hello World').toUpperCase() } #{ systemProperties['user.region'] } #{ myBean.property } #{ myBean.isMember('Dr. Spock') } #{ name = 'Dr. Roo'} #{ T(java.lang.Math).random() } #{ 'xyz' instanceof T(int)} Globalcode – Open4education
  • 41. Spring Expression Language (SpEL) Ternário: #{ boolExpr ? trueExpr : falseExpr } Elvis: #{ expr ?: exprDefault } Safe Navigation: #{ myBean.address?.city} Coll. Selection: #{ products.?[price > 100.0] } Map Selection: #{ map.?[value < 27] } ^[ selExpr ] seleciona o primeiro $[ selExpr ] seleciona o último Coll. Projection: #{ members.![address.city] } Globalcode – Open4education
  • 42. Spring Expression Language (SpEL) EL na definição de beans em XML Globalcode – Open4education
  • 43. Spring Expression Language (SpEL) EL em anotações dos componentes Anotação para injeção de valores via EL: @Value Globalcode – Open4education
  • 44. Spring Expression Language (SpEL) Atributos de contexto “systemProperties” “systemEnvironment” Referências implícitas aos beans do contexto pelo nome (similar às expressões no JSF para os managed beans) Atributos de contexto web Web: “contextParameters”, “contextAttributes”, “request” e “session” JSF: “param”, “initParam”, “facesContext”, etc Globalcode – Open4education
  • 45. Web: Suporte a REST URI Templates String definido uma URI contendo uma ou mais variáveis Variáveis são substituídas por valores ao usar Spring MVC Globalcode – Open4education
  • 46. Web: Suporte a REST Anotação criada para usar URIs: @PathVariable Globalcode – Open4education
  • 47. Web: Suporte a REST Anotação criada para usar URIs: @PathVariable Opcional Globalcode – Open4education
  • 48. Web: Suporte a REST Anotação criada para usar URIs: @PathVariable Opcional Captura: /hotels/42 Globalcode – Open4education
  • 49. Web: Suporte a REST Anotação criada para usar URIs: @PathVariable Opcional Captura: /hotels/42 Captura: /hotels/42/bookings/21 Globalcode – Open4education
  • 50. Web: Suporte a REST Views default para gerar resposta Globalcode – Open4education
  • 51. Web: Suporte a REST RestTemplate Componente para um aplicação cliente invocar URLs Restful Similar a outros templates do Spring: JdbcTemplate, JmsTemplate e WebServiceTemplate Globalcode – Open4education
  • 52. Web: Suporte a Portlet 2.0 Spring MVC 3 suporta anotações para mapeamento das ações, requisições de recursos e eventos do Portlet 2.0 @ActionMapping, @RenderMapping, @ResourceMapping e @EventMapping Globalcode – Open4education
  • 53. Validação declarativa Suporte a JSR-303 (Bean Validation) Mesma meta informação via anotações para UI, model e persistência. Definição de Validadores customizados Globalcode – Open4education
  • 54. Validação declarativa Suporte a JSR-303 (Bean Validation) Mesma meta informação via anotações para UI, model e persistência. Definição de Validadores customizados Globalcode – Open4education
  • 55. Validação declarativa Suporte a JSR-303 (Bean Validation) Mesma meta informação via anotações para UI, model e persistência. Definição de Validadores customizados Globalcode – Open4education
  • 56. Validação declarativa Suporte a JSR-303 (Bean Validation) Mesma meta informação via anotações para UI, model e persistência. Definição de Validadores customizados Globalcode – Open4education
  • 57. Spring 3.0 e Java EE 6 Suporte antecipado ao Java EE 6: JSF 2.0, JPA 2.0, JSR-303 (Bean Validation), métodos assíncronos com @Async ou @Asynchronous (EJB 3.1). Suporte completo ao Java EE 6: Spring 3.1 Servlet 3.0: Aguardando Glassfish 3 e Tomcat 7 JSR-236: APIs avançadas de concorrência JSR-330: Anotações comuns para injeção de dependências (DI) Globalcode – Open4education
  • 58. Pruning & Deprecation Removido: Suporte a Commons Attributes Supote ao TopLink (em favor do JPA via EclipseLink) Suporte a extensão de "Action" do Struts 1.x Depreciado: Suporte ao JUnit 3.8 Suporte ao Struts 1.x Hierarquia de controles MVC (em favor das anotações) Várias outras classes de suporte obsoletas Globalcode – Open4education
  • 59. Outras melhorias Capacidade de serialização de beans em escopos Web com uso de proxies serializáveis. A desserialização obtem novamente as referencias Agendamento: @Async (métodos assíncronos) e @Scheduled para executar métodos com gatilho baseado em máscara cron, preparado para a JSR- 236 (Concurrency Utilities for Java EE), XML scheduling namespace Globalcode – Open4education
  • 60. Outras melhorias Suporte a banco de dados embedded: HSQL, H2 e Derby (JavaDB). Extensível para adicionar outros bancos Compatibilidade com Spring 2.5: 100% com o modelo de programação e 95% com os pontos de extensão Globalcode – Open4education
  • 61. Epílogo: Resumo & Futuro Globalcode – Open4education
  • 62. Resumo & Futuro Suporte a Java SE 5+ ao logo do framework Não funciona com Java SE 1.3 e 1.4 Suporte extensível a EL e disponível no núcleo Validação baseada em anotações Possibilidade de eliminar 100% do XML Compatibilidade com o Spring 2.5 no Java SE 5+ Outros produtos evoluirão para suportar Spring 3.x Spring 3.1: Q2 2010, Compatibilidade completa com Java EE 6 e suporte a conversação Globalcode – Open4education
  • 63. Mais informações SpringSource Community http://www.springsource.org/ SpringSource – A division of VMWare http://www.springsource.com/ Spring Brasil User Group http://www.springbrasil.com.br/ What's new in Spring 3.0 http://www.infoq.com/presentations/Whats-New-in-Spring-3.0 Blog da Globalcode http://blog.globalcode.com.br/ Globalcode – Open4education
  • 64. Dúvidas? E-mail: spock@globalcode.com.br @HappyHour Globalcode – Open4education