SSM三個框架介紹
Spring簡介
Spring是一個開源框架训挡,Spring是于2003年興起的一個輕量級的Java開發(fā)框架尚镰,由Rod Johnson在其著作Expert One-On-One J2EE Development and Design中闡述的部分理念和原型衍生而來慢逾。它是為了解決企業(yè)應(yīng)用開發(fā)的復(fù)雜性而創(chuàng)建的立倍。Spring使用基本的JavaBean來完成以前只可能由EJB完成的事情灭红。然而,Spring的用途不僅限于服務(wù)器端的開發(fā)口注。從簡單性变擒、可測試性和松耦合的角度而言,任何Java應(yīng)用都可以從Spring中受益寝志。 簡單來說娇斑,Spring是一個輕量級的控制反轉(zhuǎn)(IoC)和面向切面(AOP)的容器框架。
spring的優(yōu)點:
A材部、通過Spring的IOC特性毫缆,將對象之間的依賴關(guān)系交給了Spring控制,方便解耦乐导,簡化了開發(fā)苦丁。
B、通過Spring的AOP特性物臂,很容易實現(xiàn)事務(wù)旺拉,日志,權(quán)限的控制鹦聪。
C账阻、提供了對其他優(yōu)秀開源框架的集成支持。
D泽本、低侵入式淘太。
Spring MVC簡介
Spring MVC屬于Spring Framework的后續(xù)產(chǎn)品,已經(jīng)融合在Spring Web Flow里面规丽,它原生支持的Spring特性蒲牧,讓開發(fā)變得非常簡單規(guī)范。Spring MVC 分離了控制器赌莺、模型對象冰抢、分派器以及處理程序?qū)ο蟮慕巧@種分離讓它們更容易進行定制艘狭。
SpringMVC的優(yōu)點
A挎扰、springMVC是使用了MVC設(shè)計思想的輕量級web框架,對web層進行解耦巢音,是的我們開發(fā)更簡潔遵倦。
B、與Spring無縫銜接官撼。
C梧躺、靈活的數(shù)據(jù)驗證,格式化傲绣,數(shù)據(jù)綁定機制掠哥。
MyBatis簡介
MyBatis本是apache的一個開源項目iBatis, 2010年這個項目由apache software foundation 遷移到了google code巩踏,并且改名為MyBatis 。MyBatis是一個基于Java的持久層框架续搀。iBATIS提供的持久層框架包括SQL Maps和Data Access Objects(DAO)MyBatis消除了幾乎所有的JDBC代碼和參數(shù)的手工設(shè)置以及結(jié)果集的檢索塞琼。MyBatis使用簡單的XML或注解用于配置和原始映射,將接口和Java的POJOs(Plain Old Java Objects目代,普通的 Java對象)映射成數(shù)據(jù)庫中的記錄屈梁。可以這么理解榛了,MyBatis是一個用來幫你管理數(shù)據(jù)增刪改查的框架在讶。
優(yōu)點:
a、sql寫在xml文件中霜大,便于統(tǒng)一管理和優(yōu)化构哺,解除sql和程序代碼的耦合。
b战坤、提供映射標簽曙强,支持對象和和數(shù)據(jù)庫orm字段關(guān)系的映射,支持對象關(guān)系映射標簽途茫,支持對象關(guān)系的組建
c碟嘴、提供xml標簽,支持編寫動態(tài)sql囊卜。
01 超高頻面試點知識篇
1.1 Spring超高頻面試點
Spring超高頻面試點答案詳解
- 1娜扇、不同版本的 Spring Framework 有哪些主要功能?
- 2栅组、什么是 Spring Framework雀瓢?
- 3、列舉 Spring Framework 的優(yōu)點玉掸。
- 4刃麸、Spring Framework 有哪些不同的功能?
- 5司浪、Spring Framework 中有多少個模塊泊业,它們分別是什么?
- 6啊易、什么是 Spring 配置文件脱吱?
- 7、Spring 應(yīng)用程序有哪些不同組件认罩?
- 8、使用 Spring 有哪些方式续捂?
- 9垦垂、什么是 Spring IOC 容器宦搬?
- 10、什么是依賴注入劫拗?
- 11间校、可以通過多少種方式完成依賴注入?
- 12页慷、區(qū)分構(gòu)造函數(shù)注入和 setter 注入
- 13憔足、spring 中有多少種 IOC 容器?
- 14酒繁、區(qū)分 BeanFactory 和 ApplicationContext滓彰。
- 15、列舉 IoC 的一些好處州袒。
- 16揭绑、Spring IoC 的實現(xiàn)機制。
- 17郎哭、什么是 spring bean他匪?
- 18、spring 提供了哪些配置方式夸研?
- 19邦蜜、spring 支持集中 bean scope?
- 20亥至、spring bean 容器的生命周期是什么樣的悼沈?
- 21、什么是 spring 的內(nèi)部 bean抬闯?
- 22井辆、什么是 spring 裝配
- 23、自動裝配有哪些方式溶握?
- 24杯缺、自動裝配有什么局限?
- 25睡榆、什么是基于注解的容器配置
- 26萍肆、如何在 spring 中啟動注解裝配?
- 27胀屿、@Component, @Controller, @Repository
- 28塘揣、@Required 注解有什么用?
- 29宿崭、@Autowired 注解有什么用亲铡?
- 30、@Qualififier 注解有什么用?
- 31奖蔓、@RequestMapping 注解有什么用赞草?
- 32、spring DAO 有什么用吆鹤?
- 33厨疙、列舉 Spring DAO 拋出的異常。
- 34疑务、spring JDBC API 中存在哪些類沾凄?
- 35、使用 Spring 訪問 Hibernate 的方法有哪些知允?
- 36撒蟀、列舉 spring 支持的事務(wù)管理類型
- 37、spring 支持哪些 ORM 框架
- 38廊镜、什么是 AOP牙肝?
- 39、什么是 Aspect嗤朴?
- 40配椭、什么是切點(JoinPoint)
- 41、什么是通知(Advice)雹姊?
- 42股缸、有哪些類型的通知(Advice)?
- 43吱雏、指出在 spring aop 中 concern 和 cross-cuttingconcern 的不同之處敦姻。
- 44、AOP 有哪些實現(xiàn)方式歧杏?
- 45镰惦、Spring AOP and AspectJ AOP 有什么區(qū)別?
- 46犬绒、如何理解 Spring 中的代理旺入?
- 47、什么是編織(Weaving)凯力?
- 48茵瘾、Spring MVC 框架有什么用?
- 49咐鹤、描述一下 DispatcherServlet 的工作流程
- 50拗秘、介紹一下 WebApplicationContext
- 51、什么是 spring?
- 52祈惶、使用 Spring 框架的好處是什么雕旨?
- 53扮匠、Spring 由哪些模塊組成?
- 54、Spring的IOC和AOP機制
- 55奸腺、Spring中Autowired和Resource關(guān)鍵字的區(qū)別
- 56餐禁、依賴注入的方式有幾種,各是什么?
- 57突照、講一下什么是Spring
- 58、Spring MVC流程
- 59氧吐、springMVC是什么
- 60讹蘑、SpringMVC怎么樣設(shè)定重定向和轉(zhuǎn)發(fā)的?
- 61筑舅、SpringMVC常用的注解有哪些
- 62座慰、Spring的AOP理解
- 63、Spring的IOC理解
- 64翠拣、解釋一下spring bean的生命周期
- 65版仔、解釋Spring支持的幾種bean的作用域。
- 66误墓、Spring基于xml注入bean的幾種方式
- 67蛮粮、Spring框架中都用到了哪些設(shè)計模式
- 68、核心容器(應(yīng)用上下文) 模塊
- 69谜慌、BeanFactory – BeanFactory 實現(xiàn)舉例然想。
- 70、XMLBeanFactory
- 71欣范、解釋 AOP 模塊
- 72变泄、解釋 JDBC 抽象和 DAO 模塊
- 72、解釋對象/關(guān)系映射集成模塊恼琼。
- 73妨蛹、解釋 WEB 模塊。
- 74晴竞、Spring 配置文件
- 75蛙卤、什么是 Spring IOC 容器?
- 76颓鲜、IOC 的優(yōu)點是什么表窘?
- 77、ApplicationContext 通常的實現(xiàn)是什么?
- 78甜滨、Bean 工廠和 Application contexts 有什么區(qū)別乐严?
- 79、一個 Spring 的應(yīng)用看起來象什么衣摩?
- 80昂验、什么是 Spring 的依賴注入捂敌?
- 81、有哪些不同類型的 IOC(依賴注入)方式既琴?
- 82占婉、哪種依賴注入方式你建議使用,構(gòu)造器注入甫恩,還是 Setter方法注入逆济?
- 83、什么是 Spring beans?
- 84磺箕、一個 Spring Bean 定義 包含什么奖慌?
- 85、如何給 Spring 容器提供配置元數(shù)據(jù)?
- 86松靡、你怎樣定義類的作用域?
- 87简僧、解釋 Spring 支持的幾種 bean 的作用域。
- 88雕欺、Spring 框架中的單例 bean 是線程安全的嗎?
- 89岛马、解釋 Spring 框架中 bean 的生命周期
- 90、哪些是重要的 bean 生命周期方法屠列?你能重載它們嗎啦逆?
- 91、什么是 Spring 的內(nèi)部 bean脸哀?
- 92蹦浦、在 Spring 中如何注入一個 java 集合?
- 93撞蜂、什么是 bean 裝配?
- 94盲镶、什么是 bean 的自動裝配?
- 95蝌诡、解釋不同方式的自動裝配 溉贿。
- 96、自動裝配有哪些局限性
- 97浦旱、你可以在 Spring 中注入一個 null 和一個空字符串嗎宇色?
- 98、什么是基于 Java 的 Spring 注解配置? 給一些注解的例子
- 99颁湖、什么是基于注解的容器配置?
- 100宣蠕、怎樣開啟注解裝配?
- 101甥捺、@Required 注解
- 102抢蚀、@Autowired 注解
- 103、@Qualififier 注解
- 104镰禾、在 Spring 框架中如何更有效地使用 JDBC?
- 105皿曲、JdbcTemplate
- 106唱逢、Spring 對 DAO 的支持
- 107、使用 Spring 通過什么方式訪問 Hibernate?
- 108屋休、Spring 支持的 ORM
- 109坞古、如何通過 HibernateDaoSupport 將 Spring 和 Hibernate結(jié)合起來?
- 110劫樟、Spring 支持的事務(wù)管理類型
- 111痪枫、Spring 框架的事務(wù)管理有哪些優(yōu)點?
- 112毅哗、你更傾向用那種事務(wù)管理類型听怕?
- 113、解釋 AOP
- 114虑绵、Aspect 切面
- 115、在 Spring AOP 中闽烙,關(guān)注點和橫切關(guān)注的區(qū)別是什么翅睛?
- 116、連接點
- 117黑竞、通知
- 118捕发、切點
- 119、什么是引入?
- 120很魂、什么是目標對象?
- 121扎酷、什么是代理?
- 122、有幾種不同類型的自動代理遏匆?
- 123法挨、什么是織入。什么是織入應(yīng)用的不同點幅聘?
- 124凡纳、解釋基于 XML Schema 方式的切面實現(xiàn)。
- 125帝蒿、解釋基于注解的切面實現(xiàn)
- 126荐糜、什么是 Spring 的 MVC 框架?
- 127葛超、DispatcherServlet
- 128暴氏、WebApplicationContext
- 129、什么是 Spring MVC 框架的控制器绣张?
- 130答渔、@Controller 注解
- 131、@RequestMapping 注解
Spring超高頻面試點答案詳解
1.2 MyBatis超高頻面試點
MyBatis超高頻面試點答案詳解
- 1胖替、什么是 Mybatis研儒?
- 2豫缨、Mybaits 的優(yōu)點
- 3、MyBatis 框架的缺點
- 4端朵、MyBatis 框架適用場合
- 5好芭、MyBatis 與 Hibernate 有哪些不同?
- 6冲呢、#{}和${}的區(qū)別是什么舍败?
- 7、當實體類中的屬性名和表中的字段名不一樣 敬拓,怎么辦 仑性?
- 8、 模糊查詢 like 語句該怎么寫?
- 9缴川、通常一個 Xml 映射文件党远,都會寫一個 Dao 接口與之對應(yīng),請問营勤,這個 Dao 接口的工作
- 原理是什么灵嫌?Dao 接口里的方法,參數(shù)不同時葛作,方法能重載嗎寿羞?
- 13、如何獲取自動生成的(主)鍵值?
- 14赂蠢、在 mapper 中如何傳遞多個參數(shù)?
- 15绪穆、Mybatis 動態(tài) sql 有什么用?執(zhí)行原理虱岂?有哪些動態(tài) sql玖院?
- 16、Xml 映射文件中量瓜,除了常見的 select|insert|updae|delete標簽之外司恳,還有哪些標簽?
- 17绍傲、Mybatis 的 Xml 映射文件中扔傅,不同的 Xml 映射文件,id 是否可以重復(fù)烫饼?
- 18猎塞、為什么說 Mybatis 是半自動 ORM 映射工具?它與全自動的區(qū)別在哪里杠纵?
- 19荠耽、 一對一、一對多的關(guān)聯(lián)查詢 比藻?
- 20铝量、MyBatis 實現(xiàn)一對一有幾種方式?具體怎么操作的倘屹?
- 21、MyBatis 實現(xiàn)一對多有幾種方式,怎么操作的慢叨?
- 22纽匙、Mybatis 是否支持延遲加載?如果支持拍谐,它的實現(xiàn)原理是什么烛缔?
- 23、Mybatis 的一級轩拨、二級緩存
- 24践瓷、什么是 MyBatis 的接口綁定?有哪些實現(xiàn)方式亡蓉?
- 25晕翠、使用 MyBatis 的 mapper 接口調(diào)用時有哪些要求?
- 26砍濒、Mapper 編寫有哪幾種方式崖面?
- 27、簡述 Mybatis 的插件運行原理梯影,以及如何編寫一個插件。
- 28庶香、MyBatis實現(xiàn)一對一有幾種方式?具體怎么操作的 甲棍?
MyBatis超高頻面試點答案詳解
1.3 SpringMVC超高頻面試點
SpringMVC超高頻面試點詳解
- 1、什么是SpringMvc?
- 2赶掖、Spring MVC的優(yōu)點感猛?
- 3、SpringMVC工作原理?
- 4奢赂、SpringMVC流程陪白?
- 5、SpringMVC的控制器是不是單例模式?如果是膳灶,有什么問題咱士?怎么解決?
- 6轧钓、如果你也用過Struts2序厉。簡單介紹一下SpringMVC和Struts2的區(qū)別有哪些?
- 7毕箍、SpingMvc 中的控制器的注解一般用那個,有沒有別的注解可以替代弛房?
- 8、 @RequestMapping 注解用在類上面有什么作用而柑?
- 9文捶、怎么樣把某個請求映射到特定的方法上面荷逞?
- 10、如果在攔截請求中,我想攔截 get 方式提交的方法,怎么配置粹排?
- 11种远、怎么樣在方法里面得到 Request,或者 Session?
- 12恨搓、我想在攔截的方法里面得到從前臺傳入的參數(shù),怎么得到院促?
- 13、如果前臺有很多個參數(shù)傳入,并且這些參數(shù)都是一個對象的,那么怎么樣快速得到這個對象斧抱?
- 14常拓、SpringMvc 中函數(shù)的返回值是什么?
- 15辉浦、SpringMVC 怎么樣設(shè)定重定向和轉(zhuǎn)發(fā)的弄抬?
- 16、SpringMvc 用什么對象從后臺向前臺傳遞數(shù)據(jù)的宪郊?
- 17掂恕、SpringMvc 中有個類把視圖和數(shù)據(jù)都合并的一起的,叫什么?
- 18弛槐、怎么樣把 ModelMap 里面的數(shù)據(jù)放入 Session 里面懊亡?
- 19、SpringMVC怎么和Ajax相互調(diào)用的乎串?
- 20店枣、當一個方法向 AJAX 返回特殊對象,譬如 Object,List 等,需要做什么處理?
- 21叹誉、SpringMvc 里面攔截器是怎么寫的鸯两?
SpringMVC超高頻面試點答案詳解
注意一下啦:篇幅有限,以上的SSM“超高頻面試點篇”的詳情面試解析不便全部展示长豁,不過答案都是有整理的(從截圖就能看的出)钧唐。無論是“超高頻面試點篇”的答案還是“源碼解析篇”、“實戰(zhàn)篇”的PDF都有整理成冊
02 源碼解析篇
2.1 MyBatis源碼解析
MyBatis源碼解析PDF目錄
第2章 配置文件解析過程
第3章 印射文件解析過程
第4章 SQL執(zhí)行流程
第5章 內(nèi)置數(shù)據(jù)源
第6章 緩存機制
第7章 插件機制
SpringMVC源碼解析
SpringMVC源碼解析PDF目錄
分為四篇:網(wǎng)站基礎(chǔ)知識匠襟、俯視SpringMVC钝侠、SpringMVC組件分析、總結(jié)與補充
- 第一篇:網(wǎng)站基礎(chǔ)知識
第一篇:網(wǎng)站基礎(chǔ)知識
- 第二篇:俯視SpringMVC
第二篇:俯視SpringMVC
- 第三篇:SpringMVC組件分析
第三篇:SpringMVC組件分析
- 第四篇:總結(jié)與補充:異步請求
第四篇:總結(jié)與補充:異步請求
Spring源碼解析
Spring源碼解析PDF
Spring源碼解析PDF
03 實戰(zhàn)篇
3.1 Spring+Mybatis企業(yè)應(yīng)用實戰(zhàn)
重點介紹如何整合SpringMVC4+MyBatis3進行Java EE開發(fā)宅此,主要是包括三個部分机错。
目錄1
- 第一部分詳細介紹SpringMVC框架的用法
- 第二部分是介紹MyBatis框架的用法
- 第三部分重點講解SpringMVC4+MyBatis3的整合,并示范開發(fā)了一個包含6個表父腕、表之間具有復(fù)雜的關(guān)聯(lián)映射關(guān)系弱匪,且業(yè)務(wù)功能也相對完善的HRM人事管理系統(tǒng)案例,希望讓學習此書的人理論聯(lián)系實際,將這兩個框架真正運用到實際開發(fā)當中去萧诫。
目錄2
Spring+Mybatis企業(yè)應(yīng)用實戰(zhàn)內(nèi)容詳解
總結(jié)撒花
重識SSM框架斥难,這次從“超高頻面試點篇”、“源碼解析篇”以及“實戰(zhàn)篇”三個大方向深入解讀帘饶,以上提到的全部面試+實戰(zhàn)+源碼解析都已整理成PDF哑诊,有需求即可分享