【轉】Spring和SpringMVC以及SpringBoot的區別


Spring 是一個開源框架,為簡化企業級應用開發而生。Spring 可以是使簡單的 JavaBean 實現以前只有 EJB 才能實現的功能。Spring 是一個 IOC 和 AOP 容器框架。
Spring 容器的主要核心是:

  控制反轉(IOC),傳統的 java 開發模式中,當需要一個對象時,我們會自己使用 new 或者 getInstance 等直接或者間接調用構造方法創建一個對象。而在 spring 開發模式中,spring 容器使用了工廠模式為我們創建了所需要的對象,不需要我們自己創建了,直接調用 spring 提供的對象就可以了,這是控制反轉的思想。

  依賴注入(DI),spring 使用 javaBean 對象的 set 方法或者帶參數的構造方法為我們在創建所需對象時將其屬性自動設置所需要的值的過程,就是依賴注入的思想。

  面向切面編程(AOP),在面向對象編程(oop)思想中,我們將事物縱向抽成一個個的對象。而在面向切面編程中,我們將一個個的對象某些類似的方面橫向抽成一個切面,對這個切面進行一些如權限控制、事物管理,記錄日志等公用操作處理的過程就是面向切面編程的思想。AOP 底層是動態代理,如果是接口采用 JDK 動態代理,如果是類采用CGLIB 方式實現動態代理。

而SpringMVC是SpringMVC是基於Spring功能之上添加的Web框架,想用SpringMVC必須先依賴Spring。 

SpringMVC是一個類似於struts的MVC模式的WEB開發框架;

Spring是一個通用解決方案, 最大的用處就是通過Ioc/AOP解耦, 降低軟件復雜性, 所以Spring可以結合SpringMVC等很多其他解決方案一起使用, 不僅僅只適用於WEB開發

SpringBoot不是Spring官方的框架模式,而是一個團隊在Spring4.0版本上二次開發並開源公布出來的。簡而言之,SpringBoot就是一個輕量級,簡化配置和開發流程的web整合框架,我們可以說是因為SpringBoot才有了Spring這么火。

那么SpringBoot和Spring有什么區別呢?

  Spring Boot可以建立獨立的Spring應用程序;

  內嵌了如Tomcat,Jetty和Undertow這樣的容器,也就是說可以直接跑起來,用不着再做部署工作了;

  無需再像Spring那樣搞一堆繁瑣的xml文件的配置;

  可以自動配置(核心)Spring。SpringBoot將原有的XML配置改為Java配置,將bean注入改為使用注解注入的方式(@Autowire),並將多個xml、properties配置濃縮在一個appliaction.yml配置文件中。

  提供了一些現有的功能,如量度工具,表單數據驗證以及一些外部配置這樣的一些第三方功能;

  整合常用依賴(開發庫,例如spring-webmvc、jackson-json、validation-api和tomcat等),提供的POM可以簡化Maven的配置。當我們引入核心依賴時,SpringBoot會自引入其他依賴。

————————————————
版權聲明:本文為CSDN博主「qq_1959227206」的原創文章,遵循 CC 4.0 BY-SA 版權協議,轉載請附上原文出處鏈接及本聲明。
原文鏈接:https://blog.csdn.net/yjt520557/article/details/88115402


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM