Eu apenas comecei a aprender a primavera. Na minha próxima etapa, eu gostaria de desenvolver aplicativos Web maiores.
Agora, estou pensando se devo começar com o Spring Boot ou o Spring MVC. Eu já li algumas coisas, mas é confuso porque ambos parecem semelhantes.
Então, quais são as diferenças entre os dois?
spring
spring-mvc
spring-boot
Gero
fonte
fonte
Spring Boot
e preencher a funcionalidade da webSpring MVC
?O Spring MVC e o Spring Boot são bem descritos em outras respostas e, portanto, sem repetir isso, deixe-me ir direto ao assunto. Spring Boot e Spring MVC não são comparáveis ou são mutuamente exclusivos. Se você deseja desenvolver aplicativos da Web usando o Spring, você usaria o Spring MVC de qualquer maneira. Sua pergunta passa a ser a utilização ou não do Spring Boot .
Para desenvolver aplicativos comuns do Spring ou começar a aprender o Spring, acho que seria recomendável usar o Spring Boot . Facilita consideravelmente o trabalho, está pronto para produção e está sendo adotado rapidamente.
Às vezes, tenho visto iniciantes fazendo essa pergunta, porque no STS (Spring Tool Suite) existem dois assistentes: um para criar um projeto Spring Boot e outro para criar um projeto Spring MVC. Portanto, minha recomendação seria criar um projeto Spring Boot e escolher a Web como um módulo.
fonte
Esta é uma representação pictórica de mostrar a diferença.
Consulte este link para obter mais informações:
Src desta imagem
fonte
Em termos simples, pode ser indicado como:
Spring boot = Spring MVC + Auto Configuration(Don't need to write spring.xml file for configurations) + Server(You can have embedded Tomcat, Netty, Jetty server).
E o Spring Boot é uma estrutura opinativa, portanto, sua construção leva em consideração o desenvolvimento rápido, menos tempo necessário para configuração e um excelente suporte da comunidade.
fonte
Spring MVC
é um subprojeto do Spring Framework, direcionado ao design e desenvolvimento de aplicativos que usam o padrão MVC (Model-View-Controller). O Spring MVC foi projetado para integrar-se total e completamente ao Spring Framework e, transitivamente, à maioria dos outros subprojetos.Spring Boot
pode ser entendido muito bem neste artigo pela equipe de engenharia de primavera. É supostamente opinativo, isto é, defende fortemente um certo estilo de desenvolvimento rápido, mas foi projetado o suficiente para acomodar exceções à regra, se você desejar. Em resumo, é uma convenção sobre metodologia de configuração que está disposta a entender sua necessidade de quebrar a convenção quando justificado.fonte
Aqui está um ponto principal que diferencia o Spring, Spring MVC e Spring Boot:
Primavera :
Spring MVC
Bota de mola:
(Evolução como: Spring -> Spring MVC -> Spring Boot, a versão mais recente tem compatibilidade com os recursos da versão antiga.) Nota: Ele não contém todos os pontos.
fonte
Na verdade, o SpringBoot é pré-configurado para reduzir a configuração da caldeira e fornecer uma maneira mais fácil ou rápida de iniciar seu aplicativo.
O SpringBoot leva a dor de cabeça da configuração do desenvolvedor para o seu próprio eu, em vez do Spring.
Implicitamente SpringBoot é baseado no conceito de framework Spring, como bean, controlador, serviços, jpa etc.
Você pode dizer que o SpringBoot é um invólucro do Spring.
No SpringBoot, por padrão, a porta do servidor é 8080, mas se você deseja alterar, acesse seu application.properties e escreva
server.port = 8084
fonte
Usando o boot de primavera, você não precisará criar configurações. Isso será feito automaticamente quando você criar um projeto.
Se você usa o Spring MVC, você mesmo precisa criar a configuração. É mais complicado, mas é crucial.
fonte
Sem repetir a mesma coisa nas respostas anteriores,
estou escrevendo esta resposta para as pessoas que desejam iniciar um novo projeto e não sabem qual é a melhor estrutura para iniciar seu projeto. Se você é iniciante nessa estrutura, a melhor coisa que prefiro é Usar a inicialização por mola (com o STS / Spring Tool Suite ). Porque ajuda muito. É fazer todas as configurações por conta própria. Além disso, use o Hibernate com spring-boot como uma estrutura de banco de dados. Com essa combinação, seu aplicativo será o melhor. Eu posso garantir isso com minhas experiências.
Mesmo essa é uma das melhores estruturas para o JEE (no presente), isso vai morrer em um futuro próximo. Existem alternativas leves chegando. Portanto, mantenha-se atualizado com sua experiência, não se atenha a uma estrutura específica. A melhor coisa é ser fluente em conceitos, não nas estruturas.
fonte
Pense desta maneira:
Spring MVC é uma estrutura baseada na Web para implementar a arquitetura MVC.
Spring Boot é uma ferramenta orientada ao programador. O programador deve se concentrar na programação e a ferramenta deve se concentrar nas configurações. Portanto, não precisamos perder tempo configurando um monte de xml para criar um simples 'Hello world'.
fonte
A seguir, estão as diferenças entre a inicialização do Spring e o Spring MVC.
fonte
O Spring MVC e o Spring Boot existem para diferentes finalidades. Portanto, não é aconselhável comparar-se como os contendores.
O que é o Spring Boot?
O Spring Boot é uma estrutura para empacotar o aplicativo spring com padrões sensatos. O que isto significa?. Você está desenvolvendo um aplicativo Web usando Spring MVC, Spring Data, Hibernate e Tomcat. Como você empacota e implanta esse aplicativo no seu servidor web. A partir de agora, temos que escrever manualmente as configurações, arquivos XML, etc. para implantar no servidor da web.
O Spring Boot faz isso para você com a configuração Zero XML em seu projeto. Acredite, você não precisa de descritor de implantação, servidor web, etc. O Spring Boot é uma estrutura mágica que agrupa todas as dependências para você. Finalmente, seu aplicativo da web será um arquivo JAR independente com servidores incorporados.
Se você ainda está confuso sobre como isso funciona, leia sobre o desenvolvimento da estrutura de microsserviços usando a inicialização por mola.
O que é o Spring MVC?
É uma estrutura tradicional de aplicativos da web que ajuda você a criar aplicativos da web. É semelhante ao framework Struts.
Um Spring MVC é uma estrutura Java usada para construir aplicativos da web. Segue o padrão de design do Model-View-Controller. Ele implementa todos os recursos básicos de uma estrutura de mola central, como Inversão de controle, Injeção de dependência.
Um Spring MVC fornece uma solução elegante para usar o MVC na estrutura de primavera com a ajuda do DispatcherServlet. Aqui, DispatcherServlet é uma classe que recebe a solicitação de entrada e a mapeia para o recurso certo, como controladores, modelos e visualizações.
Espero que isso ajude você a entender a diferença.
fonte