close
文章出處

 spring簡介

    spring是一個開源框架,spring是于2003 年興起的一個輕量級的Java 開發框架,由Rod Johnson 在其著作Expert One-On-One J2EE Development and Design中闡述的部分理念和原型衍生而來。它是為了解決企業應用開發的復雜性而創建的。框架的主要優勢之一就是其分層架構,分層架構允許使用者選擇使用哪一個組件,同時為 J2EE 應用程序開發提供集成的框架。從簡單性、可測試性和松耦合的角度而言,任何Java應用都可以從spring中受益。spring的核心是控制反轉(IoC)和面向切面(AOP)。簡單來說,spring是一個分層的JavaSE/EEfull-stack(一站式) 輕量級開源框架。

 

   在開發人員的眼中spring是帝國一樣的存在,幾乎個個領域的技術都有spring的解決方案并且在基礎框架選型為spring后,后續相關的解決方案幾乎都是優先選擇spring相關組件,因此抽出時間來對常用的spring組件和原理進行學習、總結。

 

wps626E.tmp

 

spring ioc:IOC是Inversion of Control的縮寫,多數書籍翻譯成“控制反轉”,還有些書籍翻譯成為“控制反向”或者“控制倒置”。本來是由應用程序管理的對象之間的依賴關系,現在交給了容器管理,這就叫控制反轉,即交給了IOC容器,spring的IOC容器主要使用DI方式實現的。不需要主動查找,對象的查找、定位和創建全部由容器管理。spring ioc 是spring的核心,在spring中主要用戶管理容器中的bean。

 

spring aop:AOP是OOP的延續,是Aspect Oriented Programming的縮寫,意思是面向方面編程。AOP實際是GoF設計模式的延續,設計模式孜孜不倦追求的是調用者和被調用者之間的解耦,AOP可以說也是這種目標的一種實現。spring aop 也是spring的核心,利用aop的技術可以用來做日志、權限、緩存等功能實現

 

spring orm:spring支持大多數ORM框架,比如Hibernate,JPA,JDO,TopLink和iBatis(spring2支持iBatis2,現MyBatis3的spring支持由MyBatis社區開發,并非spring)。

 

spring mvc:spring MVC框架是有一個MVC框架,通過實現Model-View-Controller模式來很好地將數據、業務與展現進行分離。從這樣一個角度來說,spring MVC和Struts、Struts2非常類似。

 

spring webservice:spring 支持集成Apache cxf、axis2、xfire等不同集中webservice實現方案。

 

spring transaction:spring完美的支持了對事物的管理,目前主要有兩種實現發難,一種是配置文件、一種是基于注解來實現。

 

spring jms:spring支持對activemq、RabbitMQ消息中間件的集成。

 

spring data:spring Data 作為springSource的其中一個父項目, 旨在統一和簡化對各類型持久化存儲, 而不拘泥于是關系型數據庫還是NoSQL 數據存儲。

 

spring cache:spring 的緩存技術還具備相當的靈活性,不僅能夠使用 SpEL(spring Expression Language)來定義緩存的 key 和各種 condition,還提供開箱即用的緩存臨時存儲方案,也支持和主流的專業緩存例如 EHCache 集成。

 

spring boot:spring-boot是由Pivotal團隊提供的全新框架,其設計目的是用來簡化新spring應用的初始搭建以及開發過程。該框架使用了特定的方式來進行配置,從而使開發人員不再需要定義樣板化的配置。通過這種方式,Boot致力于在蓬勃發展的快速應用開發領域(rapid application development)成為領導者。

 

spring security:spring Security是一個能夠為基于spring的企業應用系統提供聲明式的安全訪問控制解決方案的安全框架。它提供了一組可以在spring應用上下文中配置的Bean,充分利用了spring IoC,DI(控制反轉Inversion of Control ,DI:Dependency Injection 依賴注入)和AOP(面向切面編程)功能,為應用系統提供聲明式的安全訪問控制功能,減少了為企業系統安全控制編寫大量重復代碼的工作。

 

spring schedule:spring在schedule這塊支持JDK Timer、concurrent、quartz三種,這三種任務調度方案在實現機制和調用方法上都不同,但spring通過對其包裝,使得基于spring能用統一的配置和編碼風格來使用這三種schedule方案。


文章列表


不含病毒。www.avast.com
arrow
arrow
    全站熱搜
    創作者介紹
    創作者 AutoPoster 的頭像
    AutoPoster

    互聯網 - 大數據

    AutoPoster 發表在 痞客邦 留言(0) 人氣()