Este é um post disponível para assinantes MVPEste post também está disponível para assinantes da Java Magazine DIGITAL ou para quem possui Créditos DevMedia. Clique aqui para saber mais!
Artigo Java Magazine 77 - Spring Framework 3.0
O artigo apresenta as novidades e melhorias realizadas no framework, e o que pode ser feito em projetos baseados nas versões mais antigas do Spring para que incorporem estas mudanças, aumentando a produtividade da equipe, bem como a qualidade do software desenvolvido.
Java Magazine 77
[Artigo já está disponível no Leitor Digital DevMedia®. Clique aqui para acessá-lo]
> Clique aqui para ler todos os artigos da Java Magazine 77
[Artigo já está disponível no Leitor Digital DevMedia®. Clique aqui para acessá-lo]
> Clique aqui para ler todos os artigos da Java Magazine 77
Spring Framework 3.0
Quais as novidades e melhorias e como introduzi-las no seu projeto
De que se trata o artigo:
O artigo apresenta as novidades e melhorias realizadas no framework, e o que pode ser feito em projetos baseados nas versões mais antigas do Spring para que incorporem estas mudanças, aumentando a produtividade da equipe, bem como a qualidade do software desenvolvido.
Para que serve:
É um guia para os desenvolvedores que desejam aprender como as melhorias e as novidades do Spring Framework 3.0 podem facilitar o desenvolvimento de seus projetos.
Em que situação o tema é útil:
Por se tratar da primeira grande mudança feita no código do framework, muitos desenvolvedores podem se amedrontar com os possíveis efeitos colaterais produzidos. A matéria procura minimizar este sentimento que as equipes sentem ao atualizar a versão. Demonstraremos que as melhorias vieram para aumentar a produtividade e que a mudança pode ser feita de maneira simples e sem grandes impactos.
Spring Framework 3.0:
No Spring 3.0 foram introduzidas mudanças estruturais no código bastante profundas que procuram facilitar a vida dos desenvolvedores. Isso só foi possível mediante a adoção das novas sintaxes do Java, que foi adiada até que o mercado percebesse que as modificações da linguagem não causam incompatibilidade com os códigos legados.
Simultaneamente, foi ampliado o leque de bibliotecas que simplificam o uso de APIs que têm se popularizado no mercado, como Restlet e JAX-WS, procurando atender à demanda crescente de integração de sistemas através do uso de web services.
Por fim, uma novidade que flexibiliza o processo de implantação de sistemas foi adicionado a essa nova versão, empregando algo existente na especificação Java EE, mas ampliando seu poder: as Expression Languages de JSF/JSP com a possibilidade de usar as bibliotecas Java.
A melhoria contínua é uma prática constante que os desenvolvedores do Spring têm seguido desde o início da construção do framework. A cada versão lançada, novidades para facilitar o uso de APIs, frameworks e bibliotecas mais utilizados pelo mercado (como o JPA, JMS, Hibernate, entre outros) têm sido adicionadas. A nova versão não é exceção, novas classes que facilitam o uso de web services e a integração de sistemas foram incorporadas. Elas serão detalhadas nos próximos tópicos com alguns exemplos.
No entanto, a melhoria extrapolou as bibliotecas, também foram feitas mudanças para auxiliar na configuração do framework. Até a versão antiga do Java era difícil encontrar mecanismos que unissem flexibilidade e simplicidade para configurar um framework que não fossem o uso de XML. Com as modificações do Java 5, foi aberto um precedente para criar alternativas ao XML para facilitar a configuração do framework, deixando de ser “apenas” produtivo e também se tornar simples.
O artigo irá demonstrar, na prática, como as mudanças na forma de configuração do Spring e as novas bibliotecas podem auxiliar todos os desenvolvedores a criar um código de melhor qualidade e empregando as principais tecnologias utilizadas pelo mercado Java EE.
Quais os objetivos das mudanças e novidades?
Por oferecer uma maneira transparente de integrar os frameworks mais usados pelo mercado (ex.: JSF, Hibernate e Struts) através de configurações e classes de apoio, o Spring tem atraído muitos programadores que procuram facilitar o desenvolvimento de aplicações corporativas.
Contudo, com a evolução das aplicações corporativas, observou-se que o arquivo de configuração e os códigos fonte cresciam de maneira assustadora. Por causa disso, alguns programadores acreditavam que o problema era do Spring, no entanto, numa análise mais detalhada feita pelos desenvolvedores do Framework, notou-se que a causa deste crescimento estava relacionada com a sintaxe simples, porém limitada, da versão da linguagem Java que era utilizada.
Como forma de se redimir desta falsa impressão, os desenvolvedores do Spring resolveram adotar as sintaxes mais recentes da linguagem, que possibilitam um código mais enxuto e de maior produtividade.
Aumento de produtividade
Os programadores normalmente focam suas atenções no desenvolvimento do código fonte. Entretanto, para que o código funcione, é necessário configurá-lo, como acontece com os EJBs e Servlets. Por padrão, essa configuração era feita através de arquivos XML. O problema é que alterar tanto o código como a configuração exige uma maior atenção do programador, devido à necessidade de realizar as configurações em dois lugares. Infelizmente, essa era única maneira que existia para criar códigos desacoplados e, por isso, foi o modelo adotado nas primeiras versões do Spring.
Entretanto, com o surgimento das anotações no Java 5, essa separação de configuração e código desapareceu, unificando no código fonte as informações de configuração. Assim, o programador não precisa mais atualizar o arquivo de configuração e o código fonte, aumentando sua produtividade.
Experiências na própria plataforma Java EE (como a Java Persistence API e EJBs 3.x) demonstraram o ganho de produtividade e simplificação, comparando com as tecnologias equivalentes nas versões mais antigas da plataforma. Observando este fato, os criadores do Spring resolveram adicionar ao framework o uso de anotações, com o objetivo de unificar a configuração e codificação, e ter os mesmos ganhos alcançados na Java EE.
Como curiosidade, as annotations para configuração têm sido incorporadas silenciosamente desde a versão 2.0 (como o @Component, @Service, @Repository), mas foram oficializadas apenas na versão 3.0.
Adaptação às novidades sintáticas da linguagem
O código fonte do Spring foi atualizado para utilizar as melhorias da sintaxe do Java, como varargs e Generics. No entanto, diferente do que muitos imaginam, essas alterações não acarretam problemas para o código baseado nas versões antigas do Framework.
Os leitores do Javadoc perceberão que as construções de código ficaram mais simples, e, portanto, mais fáceis de serem mantidos e lidos. Podemos citar como exemplo a diminuição no número de arrays criados para passar parâmetros (substituído pelo uso de varargs), e a retirada de operações de cast (devido à adoção de Generics).
Inovações
Para completar, algumas inovações foram introduzidas para ajudar nas configurações de ambiente, que eram desconhecidas até o momento da implantação e que exigiam mudanças no código fonte. A Spring Expression Language (uma linguagem de sintaxe similar à Unified Expression Language do Java) tem o intuito de oferecer uma forma de usar bibliotecas Java através de uma sintaxe mais simples e sem a dependência de um compilador. Desta forma, para alterar um projeto basta modificar o arquivo de configuração colocando código Java, usando-se de construções simplificadas, como a criação de objetos e chamadas de métodos.
Além disto, o aumento no número de classes para facilitar a integração de sistemas é um destaque entre as novidades. Um paradigma que tem ganhado espaço no Java é a Arquitetura Orientada a Serviços (SOA), baseado no uso intensivo de XML. Para facilitar a leitura de XML pelos sistemas, diversas bibliotecas que traduzem o XML para um objeto foram criadas, como JAXB e JiXB. Entretanto, estas bibliotecas possuem modelagens distintas, como nomes de classes e interfaces diferentes.
Observando que cada uma possui suas peculiaridades (principalmente relacionadas à performance) mas com o mesmo objetivo, os desenvolvedores do Spring resolveram criar um conjunto de classes que permitem trocar as bibliotecas sem modificar os códigos existentes. Isso permite ao desenvolvedor alterar um código baseado, por exemplo, em JAXB, por outro que se utiliza das bibliotecas alternativas modificando a configuração, como veremos adiante.
Outra tendência de mercado é o uso de formas mais enxutas para troca de dados entre sistemas, sem o overhead existente no modelo de web services, empregando o protocolo HTTP, denominado REST. O Spring resolveu criar classes que simplificam a troca de informações com serviços REST.
"
ATENÇÃO! A exibição deste artigo foi interrompida.
Este é um post disponível para assinantes MVP
Quais as novidades e melhorias e como introduzi-las no seu projeto
De que se trata o artigo:
O artigo apresenta as novidades e melhorias realizadas no framework, e o que pode ser feito em projetos baseados nas versões mais antigas do Spring para que incorporem estas mudanças, aumentando a produtividade da equipe, bem como a qualidade do software desenvolvido.
Para que serve:
É um guia para os desenvolvedores que desejam aprender como as melhorias e as novidades do Spring Framework 3.0 podem facilitar o desenvolvimento de seus projetos.
Em que situação o tema é útil:
Por se tratar da primeira grande mudança feita no código do framework, muitos desenvolvedores podem se amedrontar com os possíveis efeitos colaterais produzidos. A matéria procura minimizar este sentimento que as equipes sentem ao atualizar a versão. Demonstraremos que as melhorias vieram para aumentar a produtividade e que a mudança pode ser feita de maneira simples e sem grandes impactos.
Spring Framework 3.0:
No Spring 3.0 foram introduzidas mudanças estruturais no código bastante profundas que procuram facilitar a vida dos desenvolvedores. Isso só foi possível mediante a adoção das novas sintaxes do Java, que foi adiada até que o mercado percebesse que as modificações da linguagem não causam incompatibilidade com os códigos legados.
Simultaneamente, foi ampliado o leque de bibliotecas que simplificam o uso de APIs que têm se popularizado no mercado, como Restlet e JAX-WS, procurando atender à demanda crescente de integração de sistemas através do uso de web services.
Por fim, uma novidade que flexibiliza o processo de implantação de sistemas foi adicionado a essa nova versão, empregando algo existente na especificação Java EE, mas ampliando seu poder: as Expression Languages de JSF/JSP com a possibilidade de usar as bibliotecas Java.
A melhoria contínua é uma prática constante que os desenvolvedores do Spring têm seguido desde o início da construção do framework. A cada versão lançada, novidades para facilitar o uso de APIs, frameworks e bibliotecas mais utilizados pelo mercado (como o JPA, JMS, Hibernate, entre outros) têm sido adicionadas. A nova versão não é exceção, novas classes que facilitam o uso de web services e a integração de sistemas foram incorporadas. Elas serão detalhadas nos próximos tópicos com alguns exemplos.
No entanto, a melhoria extrapolou as bibliotecas, também foram feitas mudanças para auxiliar na configuração do framework. Até a versão antiga do Java era difícil encontrar mecanismos que unissem flexibilidade e simplicidade para configurar um framework que não fossem o uso de XML. Com as modificações do Java 5, foi aberto um precedente para criar alternativas ao XML para facilitar a configuração do framework, deixando de ser “apenas” produtivo e também se tornar simples.
O artigo irá demonstrar, na prática, como as mudanças na forma de configuração do Spring e as novas bibliotecas podem auxiliar todos os desenvolvedores a criar um código de melhor qualidade e empregando as principais tecnologias utilizadas pelo mercado Java EE.
Quais os objetivos das mudanças e novidades?
Por oferecer uma maneira transparente de integrar os frameworks mais usados pelo mercado (ex.: JSF, Hibernate e Struts) através de configurações e classes de apoio, o Spring tem atraído muitos programadores que procuram facilitar o desenvolvimento de aplicações corporativas.
Contudo, com a evolução das aplicações corporativas, observou-se que o arquivo de configuração e os códigos fonte cresciam de maneira assustadora. Por causa disso, alguns programadores acreditavam que o problema era do Spring, no entanto, numa análise mais detalhada feita pelos desenvolvedores do Framework, notou-se que a causa deste crescimento estava relacionada com a sintaxe simples, porém limitada, da versão da linguagem Java que era utilizada.
Como forma de se redimir desta falsa impressão, os desenvolvedores do Spring resolveram adotar as sintaxes mais recentes da linguagem, que possibilitam um código mais enxuto e de maior produtividade.
Aumento de produtividade
Os programadores normalmente focam suas atenções no desenvolvimento do código fonte. Entretanto, para que o código funcione, é necessário configurá-lo, como acontece com os EJBs e Servlets. Por padrão, essa configuração era feita através de arquivos XML. O problema é que alterar tanto o código como a configuração exige uma maior atenção do programador, devido à necessidade de realizar as configurações em dois lugares. Infelizmente, essa era única maneira que existia para criar códigos desacoplados e, por isso, foi o modelo adotado nas primeiras versões do Spring.
Entretanto, com o surgimento das anotações no Java 5, essa separação de configuração e código desapareceu, unificando no código fonte as informações de configuração. Assim, o programador não precisa mais atualizar o arquivo de configuração e o código fonte, aumentando sua produtividade.
Experiências na própria plataforma Java EE (como a Java Persistence API e EJBs 3.x) demonstraram o ganho de produtividade e simplificação, comparando com as tecnologias equivalentes nas versões mais antigas da plataforma. Observando este fato, os criadores do Spring resolveram adicionar ao framework o uso de anotações, com o objetivo de unificar a configuração e codificação, e ter os mesmos ganhos alcançados na Java EE.
Como curiosidade, as annotations para configuração têm sido incorporadas silenciosamente desde a versão 2.0 (como o @Component, @Service, @Repository), mas foram oficializadas apenas na versão 3.0.
Adaptação às novidades sintáticas da linguagem
O código fonte do Spring foi atualizado para utilizar as melhorias da sintaxe do Java, como varargs e Generics. No entanto, diferente do que muitos imaginam, essas alterações não acarretam problemas para o código baseado nas versões antigas do Framework.
Os leitores do Javadoc perceberão que as construções de código ficaram mais simples, e, portanto, mais fáceis de serem mantidos e lidos. Podemos citar como exemplo a diminuição no número de arrays criados para passar parâmetros (substituído pelo uso de varargs), e a retirada de operações de cast (devido à adoção de Generics).
Inovações
Para completar, algumas inovações foram introduzidas para ajudar nas configurações de ambiente, que eram desconhecidas até o momento da implantação e que exigiam mudanças no código fonte. A Spring Expression Language (uma linguagem de sintaxe similar à Unified Expression Language do Java) tem o intuito de oferecer uma forma de usar bibliotecas Java através de uma sintaxe mais simples e sem a dependência de um compilador. Desta forma, para alterar um projeto basta modificar o arquivo de configuração colocando código Java, usando-se de construções simplificadas, como a criação de objetos e chamadas de métodos.
Além disto, o aumento no número de classes para facilitar a integração de sistemas é um destaque entre as novidades. Um paradigma que tem ganhado espaço no Java é a Arquitetura Orientada a Serviços (SOA), baseado no uso intensivo de XML. Para facilitar a leitura de XML pelos sistemas, diversas bibliotecas que traduzem o XML para um objeto foram criadas, como JAXB e JiXB. Entretanto, estas bibliotecas possuem modelagens distintas, como nomes de classes e interfaces diferentes.
Observando que cada uma possui suas peculiaridades (principalmente relacionadas à performance) mas com o mesmo objetivo, os desenvolvedores do Spring resolveram criar um conjunto de classes que permitem trocar as bibliotecas sem modificar os códigos existentes. Isso permite ao desenvolvedor alterar um código baseado, por exemplo, em JAXB, por outro que se utiliza das bibliotecas alternativas modificando a configuração, como veremos adiante.
Outra tendência de mercado é o uso de formas mais enxutas para troca de dados entre sistemas, sem o overhead existente no modelo de web services, empregando o protocolo HTTP, denominado REST. O Spring resolveu criar classes que simplificam a troca de informações com serviços REST.
"
ATENÇÃO! A exibição deste artigo foi interrompida.
Este é um post disponível para assinantes MVPEste post também está disponível para assinantes da Java Magazine DIGITAL ou para quem possui Créditos DevMedia. Clique aqui para saber mais!

5 COMENTÁRIOS
Diogo
o artigo esta fora de sequencia!!!!!!!!!!!!!!!!!!!
[há +1 ano] -
Responder
Devmedia - Equipe De Moderação
Diogo,
não identificamos o problema.
isso acontece quando a sua conexão com a internet está lenta ou vc passa a página sem esperar que a mesma termine de carregar.
não identificamos o problema.
isso acontece quando a sua conexão com a internet está lenta ou vc passa a página sem esperar que a mesma termine de carregar.
[há +1 ano] -
Responder
Tqi Consultoria E Desenvolvimento Ltda
Deixo aqui algumas reclamações quanto usuário do DevMedia Leitor Digital.
Muitos fatores me deixam desconfortável ao ler a revista no Leitor Digital.
Estou acostumado a ler a revista em arquivo PDF. A grande "perda" com o novo Leitor Digital é a diminuição do campo de visão da revista. O Leitor Digital exibe menos conteúdo por página do que no formato PDF. Isso me obriga a lançar mais mão do recurso de navegação. A fonte das letras é pequena tendo que usar o zoom do browser para deixar a fonte no tamanho adequado. A desvantagem em usar o zoom do browser é que "quebra" totalmente o layout da página.
Outra reclamação é com relação às setas de navegação dentro do artigo que é menor e menos evidente do que as setas de navegação entre os artigos. Sendo que utilizo muito mais a navegação dentro do artigo do que entre artigos. Já existe o índice que me permite exibir o artigo que quero muito mais rapidamente.
Att.
Saulo
Muitos fatores me deixam desconfortável ao ler a revista no Leitor Digital.
Estou acostumado a ler a revista em arquivo PDF. A grande "perda" com o novo Leitor Digital é a diminuição do campo de visão da revista. O Leitor Digital exibe menos conteúdo por página do que no formato PDF. Isso me obriga a lançar mais mão do recurso de navegação. A fonte das letras é pequena tendo que usar o zoom do browser para deixar a fonte no tamanho adequado. A desvantagem em usar o zoom do browser é que "quebra" totalmente o layout da página.
Outra reclamação é com relação às setas de navegação dentro do artigo que é menor e menos evidente do que as setas de navegação entre os artigos. Sendo que utilizo muito mais a navegação dentro do artigo do que entre artigos. Já existe o índice que me permite exibir o artigo que quero muito mais rapidamente.
Att.
Saulo
[há +1 ano] -
Responder
Devmedia - Equipe De Moderação
Olá Saulo,
esses problemas relatados com relação a fonte, quatidade de texto por página e botões de navegação serão resolvido com a nova versão do leitor que sai ainda esta semana.
Para os botões, temos teclas de atalho, que podem te ajudar na navegação. Segue as mesmas:
CRTL + A = volta a primeira página do artigo
CRTL + S =volta uma página
CRTL + D =avança uma página
CRTL + F =avança até a ultima página do artigo
A versão em PDF não traz os mesmos recursos que o Leitor traz, como o acesso rápido aos elementos do texto e o conteúdo de videos esclusivos.
esses problemas relatados com relação a fonte, quatidade de texto por página e botões de navegação serão resolvido com a nova versão do leitor que sai ainda esta semana.
Para os botões, temos teclas de atalho, que podem te ajudar na navegação. Segue as mesmas:
CRTL + A = volta a primeira página do artigo
CRTL + S =volta uma página
CRTL + D =avança uma página
CRTL + F =avança até a ultima página do artigo
A versão em PDF não traz os mesmos recursos que o Leitor traz, como o acesso rápido aos elementos do texto e o conteúdo de videos esclusivos.
[há +1 ano] -
Responder

Valdemir Dinis Vilela Junior
Quais sao os JARs que vcs utilizaram no projeto Spring framework 3
[há +1 mês] -
Responder
Você está em:
canal Java
Ricardo Jun Taniguchi
Space do autor
desenvolvedor Java há sete anos e trabalha com Spring desde 2006 criando aplicações na área de Seguros e Previdência e Mercado Financeiro. É instrutor da Globalcode e possui as certificações SCJP, SCWCD 1.4, SCBCD 1.3 e 5.0, SCDJWS 1.4 e 5.0 e SCEA 5.0
Space do autor



0
0
