O que é Spring Framework? - Caminho para o desenvolvimento eficiente



Este blog sobre o que é o Spring Framework fala sobre o amplamente utilizado Java Framework - Spring. Também explica por que e como usar o Spring Framework com exemplos.

No mundo acelerado de hoje, precisamos que tudo seja rápido. Não queremos nos manter engajados em um trabalho por muito tempo, que seja qualquer coisa como viajar, fazer compras, estudar ou trabalhar. Quando se trata de codificação, queremos que nossos aplicativos sejam desenvolvidos no menor período de tempo, mas proporcionando total eficiência. Podemos estar com pressa, mas ainda assim, não podemos comprometer a nossa qualidade nem queremos colocar muito esforço nela. Então, qual é a solução? As estruturas funcionam melhor nessa situação. Existem vários Frameworks disponíveis no mercado, entre os quais poucos são usados ​​como: Spring, Hibernate, Struts etc. Através deste blog vamos descobrir o que é Spring Framework e por que é tão popular no mercado!

Antes de começar, vamos dar uma olhada nos tópicos que irei discutir neste blog:





Frameworks Java

Por que devemos ir para Frameworks?Vamosentenda isso com nosso amigo, Coddy .

Coddy em problema - O que é Spring Framework - Edureka!



Coddy recebe uma tarefa para desenvolver um aplicativo, mas o tempo atribuído não é suficiente para concluí-la. Ele tem que escrever muitas linhas de código (LOC) sozinho. É muito demorado e cansativo. Ele está confuso sobre o que deveria fazer! De onde ele deve começar!

Coddy começa a pensar em uma solução para seu problema. Ele precisa de algo que seja rápido e eficiente, economize tempo e esforço, como algo pronto.



De repente, a ideia de usar Frameworks o atinge. Frameworks são rápidos, eficientes e leves. Eles são grandes corpos de códigos predefinidos que podemos facilmente adicionar ao nosso próprio código para resolver um problema específico.

Ele codifica usando o Framework. Surpreendentemente, o código se ajustou facilmente ao framework.

Coddy agora, pode codificar mais rápido e concluir seu aplicativo dentro do prazo determinado. Além disso, ele está livre de escrever milhares de linhas de código não funcional.

Depois de implantar o aplicativo que foi desenvolvido com o Framework, ele descobriu que ele era executado com uma velocidade muito maior e seu rendimento também aumentou quando comparado a outros aplicativos desenvolvidos sem o Framework.

Portanto, vamos começar com os Frameworks Java.

Como os frameworks Java surgiram?

No final da década de 1990, os aplicativos foram amplamente desenvolvidos usando os padrões JEE. A premissa do J2EE era multi-plataforma / multi-fornecedor, se você pode codificar de acordo com os padrões J2EE, pode implantar seu aplicativo em qualquer servidor de aplicativos J2EE, independentemente da plataforma. Executar seu código em qualquer servidor de aplicação oferece muitos benefícios como - gerenciamento de transações, mensagens, correspondência, interface de diretório, etc. Mas como nada é fácil neste mundo, trabalhar com J2EE também teve algumas dificuldades.

  • MuitoComplexo : Enterprise Java Bean foi desenvolvido para reduzir a complexidade em aplicativos J2EE. Mas não teve sucesso em seu objetivo de implementação. A razão por trás disso é que, ao escrever um componente, é necessário escrever um conjunto de arquivos XML, interfaces iniciais, interfaces remotas / locais, etc.
  • Problema de 'pesquisa': Sempre que um componente dependia de outro componente, ele precisava procurar os componentes dos quais dependia sozinho. Esta 'pesquisa' de componente acontece apenas por nome, então o nome da dependência foi codificado no componente.
  • Peso pesado: Como umTodos os recursos como clustering, remoting, etc. foram suportados, você deve configurá-los, independentemente do fato de que precisa deles ou não. Isso deixará seus aplicativos inchados.

Foi assim que surgiu o Java Frameworks. Java Frameworks nada mais são do que grandes corpos de código predefinido que você pode aplicar ao seu próprio código para resolver seu problema em um domínio específico. Você pode usar uma estrutura chamando seus métodos, herança, fornecendo 'retornos de chamada', ouvintes ou outras implementações do Observador padronizar.

Vamos entender isso por meio de uma representação pictórica:

Mas como exatamente eles reduzem nosso trabalho e tornam nossos códigos eficientes? Para entendê-lo, faça o seguinte vantagensedesvantagensdessas estruturas. Vamos começar com o vantagens .

Eficiência:

Tarefas que geralmente levam horas e centenas de linhas de código para serem compostas agora podem ser feitas em minutos com funções pré-construídas. O desenvolvimento se torna muito mais fácil, então se for muito mais fácil, é muito mais rápido e, posteriormente, mais eficaz.

Segurança:

Uma estrutura amplamente usada geralmente terá grandessegurançaformulários. O grande benefício é oVizinhançapor trás dessa estrutura, onde os usuários geralmente acabam sendo testadores duradouros. Se você encontrar uma vulnerabilidade ou brecha de segurança, pode ir ao site do framework e informá-los para que possa ser corrigido.

Despesa:

As estruturas mais populares são complementares e, portanto, ajudam o desenvolvedor a codificar mais rápido. Se a codificação for mais rápida o gasto para o cliente final certamente será menor em todos os aspectos, seja tempo ou esforço. Além disso, o custo de manutenção também é baixo.

Apoio, suporte:

Como qualquer outra ferramenta distribuída, uma estrutura geralmente inclui documentos, um grupo de suporte ou fóruns on-line de grandes comunidades onde você pode obter respostas rápidas.

Apesar de ter todas essas vantagens, os frameworks Java têm alguns desvantagens , gostar:


Restrições:

O comportamento fundamental da estrutura não pode ser alterado, indicando que, ao usar uma estrutura, você deve respeitar suas limitações e trabalhar da maneira que é necessário. Portanto, você deve garantir que escolheu uma estrutura que atenda às suas necessidades.

O código é público:

Uma vez que a estrutura está prontamente disponível para todos, eut também é oferecido a pessoas mal intencionadas. Pode ser estudado para saber como as coisas funcionam e descobrir falhas que podem ser utilizadas contra você.

personalizadas Recursos:

Quando você está fazendo uso de uma estrutura, sabe muito pouco sobre a linguagem por trás dela, porque os recursos nela são personalizados.Quando você usa recursos personalizados, é muito provável que você tenha que usá-los de acordo com os padrões da estrutura, que podem ser diferentes do conceito original.

Agoraestevocê conhece as vantagens e desvantagensdas estruturas,escolha sua estrutura de acordo com sua necessidade. Existem vários tipos de frameworks disponíveis no mercado. O diagrama abaixo mostra alguns deles:

Portanto, neste blog vamos nos concentrar no Spring Framework.

O que é Spring Framework?

Aqui surge a pergunta “O que é Spring Framework”?

Spring Framework é uma estrutura de desenvolvimento de aplicativos leve e poderosa usada para Enterprise Java (JEE).

Os principais recursos do Spring Framework podem ser usados ​​no desenvolvimento de qualquer aplicativo Java.Pode ser descrito comoestrutura completa e modular. O Spring Framework pode ser usado para todas as implementações de camadas de um aplicativo em tempo real. Ele também pode ser usado para o desenvolvimento de uma determinada camada de um aplicativo em tempo real, ao contrário do Struts e do Hibernate, mas com o Spring podemos desenvolver todas as camadas.

Tratava-se do que é Spring Framework, mas como foi desenvolvido? Bem, há uma história interessante por trás disso. Vamos dar uma olhada na história e origem do Spring Framework.

Em outubro de 2002, Rod Johnson , um especialista australiano em computação, escreveu um livro intitulado Expert One-on-One J2EE Design and Development. Neste livro, ele propôs uma solução mais simples baseada em classes Java comuns (POJO) e injeção de dependência. Ele escreveu mais de 30.000 linhas de código de infraestrutura que incluíam várias interfaces e classes java reutilizáveis ​​para desenvolver o aplicativo. Por volta de fevereiro de 2003, Rod, Juergen e Yann começaram a colaborar no projeto Spring. O nome “Primavera” foi dado porque significava um novo começo depois do “Inverno” do J2EE tradicional.

A seguir está o cronograma mostrado sobre os principais lançamentos na história do Spring:

Foi chamado de Interface 21, como uma referência ao século 21 e lançado sob a licença Apache 2.0.
Este foi o primeiro lançamento de marco. O framework Spring evoluiu rapidamente desde este lançamento. Interface21 suportava AspectJ paralelamente ao Spring Framework.
Novos recursos foram adicionados - configurações XML extensíveis, suporte para Java 5 e linguagens dinâmicas, pontos de extensão IoC e aprimoramentos AOP.
Novos recursos foram adicionados - suporte para Java 6 / JEE5, configurações de anotação, autodetecção de componentes em classpath e pacotes compatíveis com OSGi.
Novos recursos foram adicionados - suporte para sistema de módulo reorganizado, SpEL, JavaConfig, bancos de dados incorporados, suporte REST e suporte para Java EE 6.
O projeto Spring Data Commons foi lançado. Mais tarde, em 2012, Rod Johnson deixou a equipe Spring.
Todos os projetos do Spring mudaram para o Pivotal. Novos recursos foram adicionados - suporte completo para Java 8, websockets, dependências de biblioteca de terceiros superiores, DSL excelente para definições de bean.
Era compatível com Java 6, 7 e 8, com foco em refinamentos básicos e recursos modernos da web.
Será a geração finaldentro dos requisitos gerais do sistema Spring 4. 4.3.8 é a versão atual.

Por que Spring Framework?

Abaixo está um gráfico que mostra a comparação entre Spring e vários outros Frameworks.

Abaixo está um gráfico baseado em uma pesquisa,em maio de 2016. Como você pode ver no gráfico, o Spring Framework é muito popular em seu domínio e continua a manter sua posição noem desde 2014.

Razões para Spring Framepopularidade das obras

Geralmente há três razões principais para a popularidade do Spring Framework.

  1. Simplicidade
  2. Testabilidade
  3. Acoplamento solto

Vamos discutir esses tópicos em detalhes.

Simplicidade: Spring Framework é simples porque é não invasivo, pois usa modelos POJO e POJI.

  • POJO (Objetos Java Simples e Antigos): AA classe Java não acoplada a nenhuma tecnologia ou estrutura é chamada ' POJO ' .
  • POJI (Plain Old Java Interfaces): Uma interface Java não acoplada a nenhuma tecnologia ou a qualquer frame work é chamada ' POJI ' .

Testabilidade : Para escrever o Sbambuaplicativo, o servidor não é obrigatório. Mas, para struts e aplicativos EJB, você precisa de um servidor, se quiser testar o aplicativo. Pode ser necessário muitas mudanças na fonte e para ver essas mudanças, cada vez que você precisar reiniciar o servidor. Isso se torna tedioso e demorado. No caso deSpring Framework, tem seu próprio contêiner para executar o aplicativocátions.

Acoplamento solto : Spring Framework é fracamente acoplado porque tem conceitos como injeção de dependência, AOP etc. Esses recursos ajudam a reduzir a dependência e aumentar a modularidade dentro do código. Vamos entender isso com um exemplo.

Aqui eu tenho uma interface de bicicleta que tem um método start (). É ainda implementado por três classes, a saber: Yamaha, Honda e Bajaj.

public interface Bike {public void start ()}

Aqui, uma classe Rider cria um objeto de qualquer classe que implemente a interface Bike.

classe Rider {Bike b public void setBike (Bike b) {this.b = b} void ride () {b.start ()}}

Agora, o container Spring Framework pode injetar um objeto de qualquer classe que implemente a interface Bike, de acordo com o requisito. É assim que funciona o acoplamento frouxo.

Arquitetura do Spring Framework

Como você pode ver no diagrama acima, o Spring possui uma arquitetura em camadas que consiste em diferentes módulos que possuem suas próprias funcionalidades. Esses módulos são generalizados nas seguintes camadas:

  • Core Container
  • Acesso / integração de dados
  • Rede
  • AOP (Programação Orientada a Aspectos)
  • Instrumentação
  • Teste.

Você deve estar se perguntando: qual é a vantagem do Spring Framework em ter uma arquitetura em camadas? Vamos descobrir através dos seguintes pontos:

diferença entre jogar e jogar em java
  • Spring Framework efetivamente organiza seus objetos de camada intermediária.
  • Independentemente do ambiente de tempo de execução, os serviços de gerenciamento de configuração do Spring Framework podem ser usados ​​em qualquer camada de arquitetura.
  • Spring Framework lida com a configuração de maneira consistente em todo o aplicativo. Isso elimina a necessidade de usar uma variedade de formatos de arquivo de propriedade personalizada.
  • O Spring Framework é projetado de forma que os aplicativos construídos com ele dependam do mínimo possível de suas APIs.
  • Por causa do uso de interfaces,Spring Framework facilita boas práticas de programação.

Para entender completamente o que é Spring Framework, vamos ver um simples aplicativo Spring Framework. Siga as cinco etapas simples:

Etapa I: Criando a classe Bean

package org.edureka.firstSpring public class StudentBean {String name public String getName () {return name} public void setName (String name) {this.name = name} public void displayInfo () {System.out.println ('Olá: '+ nome)}}

Etapa II: Criar um arquivo XML

 

Etapa III: Crie a classe principal

pacote org.edureka.firstSpring import org.springframework.context.ApplicationContext import org.springframework.context.support.ClassPathXmlApplicationContext public class StudentDemo {public static void main (String [] args) {ApplicationContext appCon = new ClassPathConfmlApplicationContext.xml ' ) StudentBean factory = (StudentBean) appCon.getBean ('studentbean') factory.displayInfo ()}}

Etapa IV: carregar os arquivos jar

Carregue os seguintes arquivos jar.

  • commons-logging-1.2.jar
  • javax.servlet-api-3.1.0.jar
  • jstl-1.2.jar
  • spring-aop-4.2.2.RELEASE.jar
  • spring-beans-4.2.2.RELEASE.jar
  • spring-context-4.2.2.RELEASE.jar
  • spring-core-4.2.2.RELEASE.jar
  • spring-expression-4.2.2.RELEASE.jar
  • spring-web-4.2.2.RELEASE.jar
  • spring-webmvc-4.2.2.RELEASE.jar

NOTA: Caso necessite dos arquivos jar, comente abaixo.

Etapa V: execute o programa

Execute o programa em seu servidor para testar o aplicativo.

Espero ter conseguido explicar claramente o que é Spring Framework, exatamente como funciona e para que é usado. Você também pode consultar o vídeo “O que é Spring Framework”, onde o instrutor descreve os tópicos discutidos neste blog junto com uma demonstração prática.

O que é Spring Framework em Java | Tutorial do Spring Framework | Edureka

Se você estiver interessado em aprender mais sobre o Spring Framework, fique ligado nesta minha série de blog, porque estarei criando outro blog em que falará sobre conceitos mais avançados no Spring.

Se você deseja aprender Spring e deseja usá-lo durante o desenvolvimento de aplicativos Java, verifique o pela Edureka, uma empresa de aprendizagem online confiável com uma rede de mais de 250.000 alunos satisfeitos espalhados por todo o mundo.

Tem alguma questão para nós? Mencione isso na seção de comentários e entraremos em contato com você.