struts2:web層
hibernate:dao層
spring:service層
web
1 spring框架概述spring
1.1 什麼是spring
Spring是一個開源框架,Spring是於2003 年興起的一個輕量級的Java 開發框架,由Rod Johnson 在其著做Expert One-On-One J2EE Development and Design中闡述的部分理念和原型衍生而來。它是爲了解決企業應用開發的複雜性而建立的。框架的主要優點之一就是其分層架構,分層架構容許使用者選擇使用哪個組件,同時爲 J2EE 應用程序開發提供集成的框架。Spring使用基本的JavaBean來完成之前只可能由EJB完成的事情。然而,Spring的用途不只限於服務器端的開發。從簡單性、可測試性和鬆耦合的角度而言,任何Java應用均可以從Spring中受益。Spring的核心是控制反轉(IoC)和麪向切面(AOP)。簡單來講,Spring是一個分層的JavaSE/EE full-stack(一站式) 輕量級開源框架。
輕量級:與EJB對比,依賴資源少,銷燬的資源少。
分層: 一站式,每個層都提供的解決方案
web層:struts,spring-MVC
service層:spring
dao層:hibernate,mybatis , jdbcTemplate --> spring-dataexpress
1.2 spring由來
Expert One-to-One J2EE Design and Development
Expert One-to-One J2EE Development without EJB編程
1.3 spring核心
Spring的核心是控制反轉(IoC)和麪向切面(AOP)(見收藏,重點)服務器
1.4 spring優勢mybatis
方便解耦,簡化開發 (高內聚低耦合)
• Spring就是一個大工廠(容器),能夠將全部對象建立和依賴關係維護,交給Spring管理
• spring工廠是用於生成bean
AOP編程的支持
• Spring提供面向切面編程,能夠方便的實現對程序進行權限攔截、運行監控等功能
聲明式事務的支持
• 只須要經過配置就能夠完成對事務的管理,而無需手動編程
方便程序的測試
• Spring對Junit4支持,能夠經過註解方便的測試Spring程序
方便集成各類優秀框架
• Spring不排斥各類優秀的開源框架,其內部提供了對各類優秀框架(如:Struts、Hibernate、MyBatis、Quartz等)的直接支持
下降JavaEE API的使用難度
• Spring 對JavaEE開發中很是難用的一些API(JDBC、JavaMail、遠程調用等),都提供了封裝,使這些API應用難度大大下降架構
1.5 spring體系結構框架
核心容器:beans、core、context、expression測試