Spring:
1、spring是開源的輕量級框架
2、spring核心主要的兩部分:
(1)aop:面向切面編程,擴展功能不是修改源代碼實現的
(2)ioc:控制反轉(依賴注入和控制反轉,目的是為了使類與類之間解耦合,提高系統的可擴展性和可維護性)
比如有一個類,調用類的方法,是通過new出對象;在spring中不是用new,而是交給spring配置創建類對象;
3、spring是一站式框架
spring框架在javaEE三層架構中,每一層都提供不同的解決技術;
--web層:springmvc? 表示層,給頁面傳遞數據
--service層:spring的ioc ?業務邏輯層,對數據進行處理
--dao層:spring的jdbcTemplate? 數據訪問層,操作數據庫,對數據進行增刪改查
4.依賴注入三種方式:
(1)接口注入(2)構造器注入(3)setter注入
兩種配置方式:注解配置和xml配置
優缺點:注解方式:提高開發效率,利用java反射技術就可以完成任務,配置方便。業務之間的調用不好把握。
xml方式:進一步降低了耦合,能更清晰的表明各個對象之間,各個業務之間的調用。配置起來冗雜,增加了測試的難度。
有關注解注入:
Spring MVC:
1、spring mvc是一種基于java的實現了mvc設計模式的輕量級web框架
2、spring框架的作用:
3、spring mvc的工作原理:
(1)客戶端請求提交到前端控制器(DispatcherServlet)
(2)由前端控制器查詢一個或多個HandlerMapping,找到處理請求的Controller
(3)前端控制器將請求提交到Controller
(4)Controller調用業務邏輯處理后,返回ModeAndView
(5)前端控制器查詢一個或多個視圖解析器(ViewResoler),找到ModeAndView指定的視圖。
(6)視圖負責將結果顯示到客戶端。
其中的組件:
(1)前端控制器(DispatcherServlet)
作用:接受請求,響應結果,相當于轉發器盟中央處理器。減少了其它組件之間的耦合度。
(2)處理器映射器(HandlerMapping)
作用:根據請求的url查找Handler
(3)處理器適配器(HandlerAdapter)
作用:按照特定規則去執行Handler
(4)Handler處理器
(5)視圖解析器(ViewResoler)
作用:進行視圖解析,根據邏輯視圖名解析成真正的視圖
(6)視圖
View是一個接口,實現類支持不同的View類型(jsp.pdf)
SSM:
1、SSM框架是spring MVC ,spring和mybatis框架的整合,是標準的MVC模式,將整個系統劃分為表現層,controller層,service層,DAO層四層
使用spring MVC負責請求的轉發和視圖管理
spring實現業務對象管理,mybatis作為數據對象的持久化引擎
2、ssm的整合:
第一步:整合dao層
mybatis和spring整合,通過spring管理mapper接口
使用mapper的掃描器自動掃描mapper接口在spring中的注冊。
第二步:整合service層
通過spring管理service接口。
使用配置方式將service接口配置在spring配置文件中。
實現事務控制
第三步:整合springmvc
由于springmvc是spring的模塊,不需要手動整合。
3、ssm的配置:
(1)在web.xml中配置前端控制器:
load-on-startup:表示啟動容器時初始化該Servlet;
url-pattern:表示哪些請求交給Spring Web MVC處理, “/” 是用來定義默認servlet映射的。也可以如“*.html”表示攔截所有以html為擴展名的請求。
(2)在springmvc.xml中配置處理器適配器:(可不配置才用默認的)
(3)在springmvc.xml中開啟注解掃描,配置視圖處理器:
ssm整合的總配置:
(1)建立JDBC屬性文件:
2.配置spring-mybaits.xml:
(3)Log4j的配置:
(4)配置springmvc.xml:
(5)配置web.xml:
寫測試程序進行測試,完成整合。
相關面試題:
1、談談你對ssm框架的認識。
2、SpringMVC的工作原理。
3、springmvc和struts2的區別。