Spring:
1渊胸、spring是開源的輕量級(jí)框架
2、spring核心主要的兩部分:
(1)aop:面向切面編程而钞,擴(kuò)展功能不是修改源代碼實(shí)現(xiàn)的
(2)ioc:控制反轉(zhuǎn)(依賴注入和控制反轉(zhuǎn)沙廉,目的是為了使類與類之間解耦合,提高系統(tǒng)的可擴(kuò)展性和可維護(hù)性)
比如有一個(gè)類臼节,調(diào)用類的方法撬陵,是通過new出對(duì)象珊皿;在spring中不是用new,而是交給spring配置創(chuàng)建類對(duì)象巨税;
3蟋定、spring是一站式框架
spring框架在javaEE三層架構(gòu)中,每一層都提供不同的解決技術(shù)草添;
--web層:springmvc? 表示層驶兜,給頁面?zhèn)鬟f數(shù)據(jù)
--service層:spring的ioc ?業(yè)務(wù)邏輯層,對(duì)數(shù)據(jù)進(jìn)行處理
--dao層:spring的jdbcTemplate? 數(shù)據(jù)訪問層,操作數(shù)據(jù)庫,對(duì)數(shù)據(jù)進(jìn)行增刪改查
4.依賴注入三種方式:
(1)接口注入(2)構(gòu)造器注入(3)setter注入
兩種配置方式:注解配置和xml配置
優(yōu)缺點(diǎn):注解方式:提高開發(fā)效率远寸,利用java反射技術(shù)就可以完成任務(wù)抄淑,配置方便。業(yè)務(wù)之間的調(diào)用不好把握而晒。
xml方式:進(jìn)一步降低了耦合蝇狼,能更清晰的表明各個(gè)對(duì)象之間,各個(gè)業(yè)務(wù)之間的調(diào)用倡怎。配置起來冗雜迅耘,增加了測試的難度。
有關(guān)注解注入:
Spring MVC:
1监署、spring mvc是一種基于java的實(shí)現(xiàn)了mvc設(shè)計(jì)模式的輕量級(jí)web框架
2颤专、spring框架的作用:
3、spring mvc的工作原理:
(1)客戶端請(qǐng)求提交到前端控制器(DispatcherServlet)
(2)由前端控制器查詢一個(gè)或多個(gè)HandlerMapping钠乏,找到處理請(qǐng)求的Controller
(3)前端控制器將請(qǐng)求提交到Controller
(4)Controller調(diào)用業(yè)務(wù)邏輯處理后栖秕,返回ModeAndView
(5)前端控制器查詢一個(gè)或多個(gè)視圖解析器(ViewResoler),找到ModeAndView指定的視圖晓避。
(6)視圖負(fù)責(zé)將結(jié)果顯示到客戶端簇捍。
其中的組件:
(1)前端控制器(DispatcherServlet)
作用:接受請(qǐng)求,響應(yīng)結(jié)果俏拱,相當(dāng)于轉(zhuǎn)發(fā)器盟中央處理器暑塑。減少了其它組件之間的耦合度。
(2)處理器映射器(HandlerMapping)
作用:根據(jù)請(qǐng)求的url查找Handler
(3)處理器適配器(HandlerAdapter)
作用:按照特定規(guī)則去執(zhí)行Handler
(4)Handler處理器
(5)視圖解析器(ViewResoler)
作用:進(jìn)行視圖解析锅必,根據(jù)邏輯視圖名解析成真正的視圖
(6)視圖
View是一個(gè)接口事格,實(shí)現(xiàn)類支持不同的View類型(jsp.pdf)
SSM:
1、SSM框架是spring MVC 搞隐,spring和mybatis框架的整合驹愚,是標(biāo)準(zhǔn)的MVC模式,將整個(gè)系統(tǒng)劃分為表現(xiàn)層劣纲,controller層逢捺,service層,DAO層四層
使用spring MVC負(fù)責(zé)請(qǐng)求的轉(zhuǎn)發(fā)和視圖管理
spring實(shí)現(xiàn)業(yè)務(wù)對(duì)象管理癞季,mybatis作為數(shù)據(jù)對(duì)象的持久化引擎
2蒸甜、ssm的整合:
第一步:整合dao層
mybatis和spring整合棠耕,通過spring管理mapper接口
使用mapper的掃描器自動(dòng)掃描mapper接口在spring中的注冊(cè)。
第二步:整合service層
通過spring管理service接口柠新。
使用配置方式將service接口配置在spring配置文件中窍荧。
實(shí)現(xiàn)事務(wù)控制
第三步:整合springmvc
由于springmvc是spring的模塊,不需要手動(dòng)整合恨憎。
3蕊退、ssm的配置:
(1)在web.xml中配置前端控制器:
load-on-startup:表示啟動(dòng)容器時(shí)初始化該Servlet;
url-pattern:表示哪些請(qǐng)求交給Spring Web MVC處理憔恳, “/” 是用來定義默認(rèn)servlet映射的瓤荔。也可以如“*.html”表示攔截所有以html為擴(kuò)展名的請(qǐng)求。
(2)在springmvc.xml中配置處理器適配器:(可不配置才用默認(rèn)的)
(3)在springmvc.xml中開啟注解掃描钥组,配置視圖處理器:
ssm整合的總配置:
(1)建立JDBC屬性文件:
2.配置spring-mybaits.xml:
(3)Log4j的配置:
(4)配置springmvc.xml:
(5)配置web.xml:
寫測試程序進(jìn)行測試输硝,完成整合。
相關(guān)面試題:
1程梦、談?wù)勀銓?duì)ssm框架的認(rèn)識(shí)点把。
2、SpringMVC的工作原理屿附。
3郎逃、springmvc和struts2的區(qū)別。