Spring在百度詞條上的解釋是:前端
Spring是一個開放源代碼的設計層面框架,他解決的是業務邏輯層和其餘各層的鬆耦合問題,所以它將面向接口的編程思想貫穿整個系統應用。Spring是於2003 年興起的一個輕量級的Java 開發框架,由Rod Johnson建立。簡單來講,Spring是一個分層的JavaSE/EEfull-stack(一站式) 輕量級開源框架。
而按照個人理解,spring是一個低侵入式的java框架,咱們主要用到的是它所提供的DI(dependence injection依賴注入),AOP(Aspect Oriented Programming面向切面編程)和模板化編程的功能。java
DI依賴注入,顧名思義,就是將對象所須要的依賴對象注入到對象中。傳統的java代碼中,在類中調用其餘對象,都是本身new出來一個對象,而後調用,這樣代碼的耦合度就比較高。而在spring中,你只須要在xml或者java的配置文件中,或者在類中加入註解,將對象定義爲bean,而後將須要調用對象的配置到bean中,spring的ioc容器就會幫你將依賴的對象建立出來,並管理其的運行和銷燬。web
AOP面向切面編程,可讓你專一於主程序的構建,而將日誌和安全管理這些並行運行但並不涉及主程序邏輯的操做,從側面插入到程序中。舉個例子,就是將打日誌的操做,定義爲切面對象,再將主程序運行中須要打日誌的地方定義爲切點,將切面對象和切點關聯起來。這樣,當程序運行到切點的時候,就能執行切面對象可以執行的操做。日誌對象和主程序的耦合度降到最低,即便更改日誌對象的操做,主程序不受影響。spring
spring的組成圖片:
數據庫
spring框架是一個分層結構,由七個模塊組成:編程
1.Spring Core核心容器:提供Spring框架的基本功能。
2.Spring Context上下文:配置文件,向Spring框架提供上下文信息。
3.Spring Aop:面向切面編程。
4.Spring Dao:數據庫操做。
5.Spring Orm:提供ORM的對象關係工具,
6.Spring Web:創建在用用程序上下文模塊智商,爲基於Web的應用程序提供上下文。
7.Spring Mvc:全功能的構建Web應用程序的MVC實現。安全
Spring MVC是能夠構建Web應用程序的全功能MVC模塊。經過在web.xml文件中聲明DispatcherServlet,而後定義好須要掃描的xml文件,容器在啓動的時候便會將DispatcherServlet對象建立出來,根據配置的規則,DispatcherServlet會將請求分發給指定的action方法去處理,並將返回的model處理成view返回給前端。框架
MyBatis是一個基於java的持久層框架,幫助你創建和數據庫的連接,設定事務處理。
MyBatis 避免了幾乎全部的 JDBC 代碼和手動設置參數以及獲取結果集。MyBatis 可使用簡單的 XML 或註解來配置和映射原生信息,將接口和 Java 的 POJOs(Plain Old Java Objects,普通的 Java對象)映射成數據庫中的記錄。工具