SSM框架,顧名思義沸版,就是Spring+SpringMVC+Mybatis
spring 是一個開源框架嘁傀,是為了解決企業(yè)應用程序開發(fā)復雜性而創(chuàng)建的∈恿福框架的主要優(yōu)勢之一就是其分層架構细办,分層架構允許你選擇使用哪一個組件,同時為J2EE應用程序開發(fā)提供集成的框架
功能如下
◆目的:解決企業(yè)應用開發(fā)的復雜性
◆功能:使用基本的JavaBean代替EJB馒铃,并提供了更多的企業(yè)應用功能
◆范圍:任何Java應用
簡單來說蟹腾,Spring是一個輕量級的控制反轉(zhuǎn)(IoC)和面向切面(AOP)的容器框架。
◆輕量——從大小與開銷兩方面而言Spring都是輕量的区宇。完整的Spring框架可以在一個大小只有1MB多的JAR文件里發(fā)布娃殖。并且Spring所需的處理開銷也是微不足道的。此外议谷,Spring是非侵入式的:典型地炉爆,Spring應用中的對象不依賴于Spring的特定類。
◆控制反轉(zhuǎn)——Spring通過一種稱作控制反轉(zhuǎn)(IoC)的技術促進了松耦合卧晓。當應用了IoC芬首,一個對象依賴的其它對象會通過被動的方式傳遞進來,而不是這個對象自己創(chuàng)建或者查找依賴對象逼裆。你可以認為IoC與JNDI相反——不是對象從容器中查找依賴郁稍,而是容器在對象初始化時不等對象請求就主動將依賴傳遞給它。
◆面向切面——Spring提供了面向切面編程的豐富支持胜宇,允許通過分離應用的業(yè)務邏輯與系統(tǒng)級服務(例如審計(auditing)和事務(transaction)管理)進行內(nèi)聚性的開發(fā)耀怜。應用對象只實現(xiàn)它們應該做的——完成業(yè)務邏輯——僅此而已。它們并不負責(甚至是意識)其它的系統(tǒng)級關注點桐愉,例如日志或事務支持财破。
◆容器——Spring包含并管理應用對象的配置和生命周期,在這個意義上它是一種容器从诲,你可以配置你的每個bean如何被創(chuàng)建——基于一個可配置原型(prototype)左痢,你的bean可以創(chuàng)建一個單獨的實例或者每次需要時都生成一個新的實例——以及它們是如何相互關聯(lián)的。然而系洛,Spring不應該被混同于傳統(tǒng)的重量級的EJB容器俊性,它們經(jīng)常是龐大與笨重的,難以使用碎罚。
◆框架——框架就是一個半成品磅废,Spring可以將簡單的組件配置、組合成為復雜的應用荆烈。在Spring中拯勉,應用對象被聲明式地組合,典型地是在一個XML文件里憔购。Spring也提供了很多基礎功能(事務管理宫峦、持久化框架集成等等),將應用邏輯的開發(fā)留給了你玫鸟。
所有Spring的這些特征使你能夠編寫更干凈导绷、更可管理、并且更易于測試的代碼屎飘。它們也為Spring中的各種模塊提供了基礎支持妥曲。
Spring的兩大核心AOP與IOC贾费,可以單獨用于任何應用,包括與Struts等MVC框架與Hibernate等ORM框架的集成檐盟,目前很多公司所謂的輕量級開發(fā)就是用 Spring + Struts(2)+Hibernate褂萧。
Spring MVC就是一個MVC框架,個人覺得Spring MVC annotation式的開發(fā)比Struts2方便葵萎,可以直接代替上面的Struts(當然Struts的做為一個非常成熟的MVC导犹,功能上感覺還是比Spring強一點,不過Spring MVC已經(jīng)足夠用了)羡忘。當然spring mvc的執(zhí)行效率比struts高谎痢,是因為struts的值棧影響效率