Python知識分享網(wǎng) - 專業(yè)的Python學習網(wǎng)站 學Python,上Python222
85道Java Spring綜合面試題詳解含答案(值得珍藏) PDF 下載
匿名網(wǎng)友發(fā)布于:2024-01-28 11:30:00
(侵權舉報)
(假如點擊沒反應,多刷新兩次就OK!)

85道Java Spring綜合面試題詳解含答案(值得珍藏)  PDF 下載  圖1

 

 

資料內(nèi)容:

 

 

1. Spring概述
 
1.1什么是spring?
Spring是個java企業(yè)級應用的開源開發(fā)框架。Spring主要用來開發(fā)Java應用,但是有些擴展是針對構建J2EE
平臺的web應用。Spring框架目標是簡化Java企業(yè)級應用開發(fā),并通過POJO為基礎的編程模型促進良好的編
程習慣。
 
1.2 使用Spring框架的好處是什么?
輕量:Spring是輕量的,基本的版本大約2MB
控制反轉:Spring通過控制反轉實現(xiàn)了松散耦合,對象們給出它們的依賴,而不是創(chuàng)建或查找依賴的對象們
面向切面的編程(AOP)Spring支持面向切面的編程,并且把應用業(yè)務邏輯和系統(tǒng)服務分開
容器:Spring包含并管理應用中對象的生命周期和配置
MVC框架:SpringWEB框架是個精心設計的框架,是Web框架的一個很好的替代品
事務管理:Spring提供一個持續(xù)的事務管理接口,可以擴展到上至本地事務下至全局事務(JTA
異常處理:Spring提供方便的API把具體技術相關的異常(比如由JDBCHibernateorJDO拋出的)轉化為一
致的unchecked異常。
 
1.3 Spring的兩大核心概念
IOC(控制翻轉)
控制翻轉,也叫依賴注入,他就是不會直接創(chuàng)建對象,只是把對象聲明出來,在代碼 中不直接與對象和服務
進行連接,但是在配置文件中描述了哪一項組件需要哪一項服 務,容器將他們組件起來。在一般的IOC場景
中容器創(chuàng)建了所有的對象,并設置了必 要的屬性將他們聯(lián)系在一起,等到需要使用的時候才把他們聲明出
來,使用注解就跟 方便了,容器會自動根據(jù)注解把對象組合起來
AOP(面對切面編程)
面對切面編程,這是一種編程模式,他允許程序員通過自定義的橫切點進行模塊 化,將那些影響多個類的行
為封裝到課重用的模塊中。 例子:比如日志輸出,不使用AOP的話就需要把日志的輸出語句放在所有類中,
方法 中,但是有了AOP就可以把日志輸出語句封裝一個可重用模塊,在以聲明的方式將他 們放在類中,每次
使用類就自動完成了日志輸出。
 
1.4 Spring由哪些模塊組成?
以下是Spring框架的基本模塊:
Coremodule Bean module Context moduleExpression Language module
JDBC module ORM module OXM module
Java Messaging Service(JMS) module
Transaction module Web module
Web-Servlet module Web-Struts module Web-Portlet module
 
1.5 Spring的優(yōu)缺點是什么?
優(yōu)點
方便解耦,簡化開發(fā):Spring就是一個大工廠,可以將所有對象的創(chuàng)建和依賴關系的維護,交給Spring
管理。
AOP編程的支持:Spring提供面向切面編程,可以方便的實現(xiàn)對程序進行權限攔截、運行監(jiān)控等功能。
聲明式事務的支持
只需要通過配置就可以完成對事務的管理,而無需手動編程。
方便程序的測試:SpringJunit4支持,可以通過注解方便的測試Spring程序。
方便集成各種優(yōu)秀框架:Spring不排斥各種優(yōu)秀的開源框架,其內(nèi)部提供了對各種優(yōu)秀框架的直接支持
(如:StrutsHibernate、MyBatis等)。
降低JavaEE API的使用難度:SpringJavaEE開發(fā)中非常難用的一些APIJDBC、JavaMail、遠程調(diào)用
等),都提供了封裝,使這些API應用難度大大降低。
缺點
Spring明明一個很輕量級的框架,卻給人感覺大而全
Spring依賴反射,反射影響性能
使用門檻升高,入門Spring需要較長時間