降龍十八掌

第一章

1、以下有關 Spring框架優點的說法正確的是()

ASpring!具有簡單、可測試和鬆耦合等特點,從這個角度出發,spring就是應用於任何ava應用的開發中;

BSpring提供了對AOP的支持,它允許將一些通用任務,如安全、事務、日誌等進行集中式處理,從而提高了程

序的複用性

Cspring就是個大工廠,可以將所有對象的創建和依賴關係的維護工作都交給 Spring容器管理,杜絕了組件之

間的耦合性

Dspring增加了 Java ee開發中一些AP的使用難度

參考答案:B

 

2、以下有關 Spring的四個基礎包說法正確的是()

ASpring的四個基礎包,它們分別對應 Spring Web容器的四個模塊

BSpring的四個基礎包有 spring-core RELEASE jarspring- beans- RELEASE. jarspring

context-. RELEASE. jarFAspring-aop RELEASE jar

Cspring- context.RELEASE jar是所有應用都要用到的AR,它包含訪問配置文件以及進行o或者D操作相

關的所有類

Dspring-core RELEASE. jar包含spring框架基本的核心工具類,Sng其它組件都要用到這個包裏的類,是其它

組件的基本核心

參考答案:D

 

3、下列選項中,不屬於Spring框架優點的是()

A、提供強大的、可以有效減少頁面代碼的標籤

B、聲明式事務的支持

C、方便解耦、簡化開發

D、方便集成各種優秀框架

參考答案:A

 

4、以下關於spring核心容器相關說法錯誤的是()

ASpring框架的所有功能都是通過其核心容器來實現的

B、創建 BeanFactory實例時,需要提供 Spring所管理容器的詳細配置信息,這些信息通常採用XML文件形式來管

CApplicationcontext不僅包含了 Bean Factory的所有功能,還添加了對國際化、資源訪問、事件傳播等方面的支

D、通常在Java項目中,會採用通過 ClassPathXmlApplicationconte類來實例化 Applicationcontext容器的方式,

而在Meb項目中,App| cations ntext容器的實例化工作會交由Web服務器來完成

參考答案:A

 

5、下列有關 Spring框架的描述,錯誤的是()

ASpring Java Web開發框架

BSpring是輕量級框架

CSpring是開源框架

DSpring是持久層框架

參考答案:D

 

6Spring的核心容器是其他模塊建立的基礎,以下哪個不是該容器的組成

模塊()

ABeans模塊

Bcore模塊

CContext模塊

DAOP模塊

參考答案:D

 

7、下列有關 Spring框架的描述,正確的有()

ASpring是持久層框架

BSpring Java Web開發框架

CSpring是開源框架

DSpring是一個重量級框架

參考答案:B,C

 

8、以下有關依賴注入相關說法正確的是()

A、依賴注入(D)與控制反轉(loC)的含義相同,只不過這兩個稱呼是從兩個角度描述的同一個概念

B、在傳統模式下,調用者通常會採用"new被調用者的代碼方式來創建對象,這種方式會導致調用者與被調用者

之間的耦合性增加,不利於後期項目的升級和維護

C、在使用 Spring框架之後,控制權由應用代碼轉移到了 Spring容器,控制權發生了反轉,這就是 Spring的控制反

D、從 Spring容器的角度來看, Spring容器負責將被依賴對象賦值給調用者的成員變量,相當於爲調用者注入了依

賴的實例,這就是 Spring的依賴注入

叄考答案:A,B,C,D

 

9Spring框架壓縮包解壓後的目錄中內容說明正確的是()

Adocs文件夾中包含 SpringAP文檔和開發規範

BIbs文件夾中包含開發需要的JAR包和源碼

Cschema文件夾中包含開發所需要的 schema文件

Dspring. x pd仲中是使用手冊

叄考答案:A,B,C

 

10、以下哪些屬於 Spring框架模塊()

ACore Container

BData Access/Integration

CloC

DMessaging

參考答案:A,B,D

 

11Spring框架壓縮包解壓後的目錄中中的JAR包說明正確的是()

Aibs目錄中的JAR包分爲三類

B、以 RELEASE. jar結尾的是 Spring框架cass文件的JAR

C、以 RELEASE-javadoc ja結尾的是 Spring框架AP檔的壓縮包

D、以 RELEASE-sources ja結尾的是 Spring框架源文件的壓縮包

參考答案:A,B,C,D

 

12、以下有關 Spring核心容器的說法正確的是()

ASpring框架提供了兩種核心容器,分別爲 Bean Factory ApplicationContext

BBean Factoryorg. springframework. beans. factory. BeanFactory接口定義,是基礎類型的ioC容器

CBeanFactory就是一個管理Bean的工廠,它主要負責初始化各種Bean,並調用它們的生命週期方法

DApplication Context BeanFactory的子接口,也被稱爲應用上下文,是另一種常用的 Spring核心容器

參考答案:A,B,C,D

 

13、下列選項中,屬於 Spring框架優點的有()

A、方便解耦、簡化開發

BAOP編程的支持

C、方便集成各種優秀框架

D、聲明式事務的支持

叄考答案:A,BC,D

 

14Spring的核心容器是其他模塊建立的基礎,以下哪些屬於該容器的組成

模塊()

ABeans模塊

BCore模塊

CSpEL

DAOP模塊

參考答案:A,B,C

 

15Spring的第一個版本是在2004年發佈的()

參考答案:

 

16、通常在Java項目中,會採用通過 File SystemXmlApplication Context類來實例化 Application Context容器的方式()

參考答案:

 

7Spring開發不需要任何第三方依賴包()

參考答案:

 

18Spring中基於構造方法的依賴注入通過調用帶參數的構造方法來實現,每個參數代表着一個依賴()

參考答案:

 

9Spring框架模塊大體分爲 Core containerData access// IntegrationWebloc( Aspect Oriented Programming)InstrumentationMessageTest()

叄考答案:

 

20Spring是由 Rod johnson組織和開發的一個分層的 Javase/eE full-stack(一站式)輕量級開源框架()

參考答案:

 

21Spring對服務器端三層體系架構的每一層都提供了技術支持()

參考答案:

 

22、在傳統模式下,採用new被調用者的方式來創建對象會導致調用者與被調用者之間的耦合性增加,不利於後期項目的升級和維護()

叄考答案:

 

23Spring配置文件的名稱可以自定義,通常在實際開發中,都會將配置文件命名爲 application Context. xm()

參考答案:

 

24、初學者學習spring框架時,只需將 Spring4個基礎包以及 commons-oggIng Jar複製到項目的b目錄,併發布到類路徑中即可()

參考答案:

 

25Spring具有簡單、可測試和鬆耦合等特點()

參考答案:

 

26、依賴注入(D)與控制反轉(loC)的含義不同,描述的不是同個概念()

叄考答案:

 

27Spring框架可以和Ss2 Hibernate框架進行整合()

參考答案:

 

28Spring不僅可以用於服務器端開發,也可以應用於任何Java應用的開發中()

參考答案:

 

29Spring框架的 Beans模塊提供了 spring框架的基本組成部分,包括locD功能()

參考答案:

 

30、在 Spring入門程序開發中,只需將 Spring4個基礎包以及 commons-oggIngJAR包複製到目錄中即可()

參考答案:

 

31、依賴注入的作用就是在使用 Spring框架創建對象時,動態的將其所依賴的對象注入到Bean組件中()

參考答案:

 

32Spring是一個輕量級的開源框架()

參考答案:

 

33Spring框架提供了兩種核心容器,分別爲 BeanFactory Application Context()

參考答案:

 

34Spring就是一個大工廠,可以將所有對象的創建和依賴關係的維護工作

都交給 Spring容器管理,大大的降低了組件之間的耦合性()

參考答案:

 

35Spring框架的主要功能是通過其核心容器來實現的()

參考答案:

 

36Spring框架採用的是分層架構,它一系列的功能要素被分成20個模塊

參考答案:

第二章

1、以下有關Bean singleton作用域說法錯誤的是()

Aprototype Spring容器默認的作用域

B、對需要保持會話狀態的Bean(suts2 Action)應該使用 prototype作用域

C、在使用 prototype作用域時, Spring容器會爲每個對該Bean的請求都創建個新的實例

D、要將Bean定義爲prototype作用域,只需在配置文件中將<bean>元素的 scope屬性值設置爲 prototype即可

參考答案:A

 

2Spring<bean>元素中的 autowire屬性取值不包括以下()

Adefault

Bby Name

Cby Type

Dbyld

參考答案:D

 

3、以下有關 SpringBean的作用域說法正確的是()

ASpring4.3中爲Bean的實例定義了5種作用域

B、使用 prototype義的Bean Spring容器中將只有一個實例,也就是說,無論有多少個Bean引用它,始終將指

向同一個對象

C、每次通過spring容器獲取的 singleton定義的Bean,容器都將創建個新的Bean實例

DglobalSession:在個全局的 Http Session,容器會返回該Bean的同一個實例

參考答案:D

 

4、以下有關Bean的裝配方式說法正確的是()

ASpring容器支持多種形式的Bean的裝配方式,如基於ⅪML的裝配、基於註解( Annotation)的裝配和自動裝配

(其中最常用的是基於XML的裝配);

BSpring提供了3種基於XML的裝配方式:設值注入、構造注入和屬性注入;

C、在 Spring實例化Bean的過程中, Spring首先會調用Bean的默認構造方法來實例化Bean對象,然後通過反射的方式調用 setter法來注入屬性值;

D、設值注入要求一個Bean必須提供一個有參構造方法並且爲需要注入的屬性提供對應的 setter方法。

參考答案:C

 

5Spring容器支持多種形式的Bean的裝配方式,不包括有()

A、基於XML的裝配

B、基於 properties的裝配

C、基於註解( Annotation)的裝配

D、自動裝配

參考答案:B

 

6Spring中定義了一系列的註解,以下有關其常用的註解說明錯誤的是

A@Autowired用於對Bean的屬性變量、屬性的 setter方法及構造方法進行標註,配合對應的註解處理器完成Bean的自動配置工作,默認按照Bean的名稱進行裝配

B@rEpository用於將數據訪問層(DAO)的類標識爲 Spring中的Bean

C@Service通常作用在業務層( Service),用於將業務層的類標識爲 Spring中的Bean

D@Controllet通常作用在控制層( Spring M Controller),用於將控制層的類標識爲 Spring中的Bean

叄考答案:A

註解:A:默認按照Bean類型進行裝配

 

7、下列選項中,不屬於spring中實例化Bean的方式的是()

A、構造器實例化

B、靜態工廠方式實例化

C、實例工廠方式實例化

D、抽象方法實例化

參考答案:D

 

8、以下哪些不屬於 Spring43版本中Bean的作用域()

Aapplication

Brequest

Cresponse

DglobalSession

參考答案:C

 

9、以下有關 Spring中的Bean的相關說法正確的是()

ASpring可以被看做是個大型工廠,這個工廠的作用就是生產和管理 Spring容器中的Bean

BSpring-中最常使用的就是 Properties格式的配置方式,這種配置方式通過 Properties文件來註冊並管理Bean間的依賴關係

C、在 Spring,XML配置文件的可以包含多個< beans>,< beans>中包含了多個<bean>子元素,每個<bean子元素定義了一個Bean

D、如果在Bean中末指定idname, Spring無法獲取Bean

參考答案:A

 

10、以下哪些屬於實例化Bean的方式()

A、構造器實例化

B、靜態工廠方式實例化

C、實例工廠方式實例化

D、抽象方法實例化

參考答案:A,B,C

 

11、以下有關<bean>元素的 autowire屬性值及說明正確的是()

Adefault:<bean>的上級標籤< beans> default- autowire屬性值確定

BbyName:根據屬性的名稱自動裝配。容器將根據名稱査找與屬性完全致的Bean,並將其屬性自動裝配

Cby Type:根據屬性的數據類型(Type)自動裝配,如果一個Bean的數據類型兼容另-Bean中屬性的數據類,則自動裝配

Dconstructor:根據構造函數參數的數據類型,進行 byType模式的自動裝配

參考答案:A,B,C,D

 

12、在 Spring配置文件中,Bean的作用域是通過<bean>元素的 scope屬性

來指定的,該屬性值可以設值包括有()

Arequest

Bresponse

Csession

Dapplication

參考答案:A,C,D

 

13Spring中定義了一系列的註解,常用的註解有()

A@Autowired

B@Repository

C@Service

D@Controller

參考答案:A,B,C,D

 

14、以下有關<bean>元素的屬性及子元素說明正確的是()

Aid是個Bean的唯標識符, Spring容器對Bean的配置、管理都通過該屬性來完成

Bname: Spring容器同樣可以通過此屬性對容器中的Bean進行配置和管理,name屬性中可以爲Bean指定多個名稱,每個名稱之間用逗號或分號隔開

Cclass屬性指定了Bean的具體實現類,它必須是一個完整的類名

Dscope用來設定Bean實例的作用域,其屬性值有5

參考答案:A,B,C

註解:Dscope用來設定Bean實例的作用域,其屬性值有7

 

15、以下有關Bean singleton作用域說法正確的是()

Asingleton Spring容器默認的作用域

B、當Bean的作用域爲 singleton, Spring容器就只會存在一個共享的Bea實例

Csingleton作用域對於無會話狀態的Bean(Dao組件、Service組件)來說,是最理想的選擇

DBean的作用域是通過<bean>元素的 scope屬性來指定的,該屬性值有7個值,對應7種作用域

參考答案:A,B,C,D

 

16、以下哪些屬於 Spring4.3版本中爲Bean作用域()

Asingleton

Bprototype

Crequest

Dapplication

參考答案:A,B,C,D

 

17、當Bean的作用域爲 singleton, Spring容器就只會存在一個共享的Bean實例,並且所有對Bean的請求,只要id與該Beanid屬性相匹配,就會返回同一個Bean實例()

叄考答案:

 

18、如果在Bean中未指定和name, Spring會將cass值當作id使用()

參考答案:

 

19Spring4.3版本中爲Bean的實例定義了7種作用域()

參考答案:

 

20、構造器實例化是指 Spring容器通過Bean對應類中默認的無參構造方法來實例化Bean()

參考答案:

 

21Spring中使用 prototype定義的Bean Spring容器中將只有一個實例, 也就是說,無論有多少個Bean引用它,始終將指向同一個對象()

參考答案:

 

22Spring可以被看做是一個大型工廠,這個工廠的作用就是生產和管理Spring容器中的Bean()

參考答案:

 

23、在配置文件中,通常一個普通的Bean只需要定義d(name)cass兩個屬性即可()

參考答案:

 

24Spring提供了3種基於ⅩML的裝配方式:設值注入、構造注入和屬性注入()

參考答案:

 

25singleton Spring 容器默認的作用域()

參考答案:

 

26、所謂自動裝配,就是將一個Bean自動的注入到到其他Bean Property()

參考答案:

 

27、靜態工廠的方法來創建Bean實例,class屬性指定的同樣是Bean實例的實現類,同時還需要使用 factory- method屬性來指定所創建的靜態工廠方法()

參考答案:

 

28Bean的裝配可以理解爲依賴關係注入,Bean的裝配方式即Bean依賴注入的方式()

參考答案:

 

29、在使用 prototype作用域時, Spring容器爲每個對該Bean的請求都只創建一個實例()

參考答案:

 

30、對需要保持會話狀態的Bean(Sts2Acon)應該使用 prototype作用域()

叄考答案:

 

31spring<bean>元素中包含一個 autowire屬性,我們可以通過設置autowire的屬性值來自動裝配Bean()

參考答案:

 

32、在 Spring,要想使用容器中的Bean,也需要實例化Bean()

叄考答案:

 

33、實例工廠方式採用直接創建Bean實例的方式,同時在配置文件中,需要實例化的Bean是通過 factory-bean屬性指向配置的實例工廠,然後使用 factory- method屬性確定使用工廠中的哪個方法()

叄考答案:

 

34singleton作用域對於無會話狀態的Bean(Dao組件、Service組件)來說,是最理想的選擇()

參考答案:

 

35、實例化Bean有三種方式,分別爲構造器實例化、靜態工廠方式實例化和實例工廠方式實例化(其中最常用的是構造器實例化)()

參考答案:

 

36prototype Spring容器默認的作用域()

參考答案:

 

37、使用基於基於 Annotation的裝配可以較大程度上解決基於XML方式裝配導致的配置文件臃腫和難以維護等問題()

叄考答案:

 

38Spring容器支持XML Properties兩種格式的配置文件,在實際開發中,最常使用的就是 Properties格式的配置方式。()

參考答案:

 

39@Component,註解用於描述 Spring中的Bean,它是一個泛化的概念,僅僅表示一個組件,並且可以作用在任何層次,使用時只需將該註解標註在相應方法上即可()

參考答案:

註解:使用時只需將該註解標註在相應上即可()

40Spring容器支持多種形式的Bean的裝配方式,如基於ⅩML的裝配、基於註解( Annotation)的裝配和自動裝配(其中最常用的是基於XML的裝配()

參考答案:

 

41、在 Spring,XML配置文件的根元素是< beans>,< beans>中包含了多個<bean>子元素,每一個<bean>子元素定義了一個Bean,並描述了該 Bean如何被裝配到 Spring容器中()

參考答案:

 

42、通過 Spring容器創建一個Bean的實例時,不僅可以完成Bean的實例化,還可以爲Bean指定特定的作用域()

參考答案:

第三章

1、關於 Aspect.註解的介紹,說法錯誤的是()

A@AspectE於定義一個切面

B@Pointcut於定義切入點表達式

C@Before用於定義前置通知,相當於 BeforeAdvice

D@Afe用於定義後置通知,相當於 AfterReturningAdvice

叄考答案:D

 

2、以下不屬於 Proxy Factory Bean類中的常用可配置屬性的是()

Atarget

Bproxylnterfaces

Ctargetclass

DinterceptorNames

參考答案:C

 

3、下列有關AOP專業術語中,用於指那些被攔截到的點的是()

AJoinpoint

BPointcut

CAspect

DAdvice

參考答案:A

 

4、以下有關CGLB代理相關說法正確的是()

ACGLB代理的使用非常簡單,但它還有一定的侷限性使用動態代理的對象必須實現一個或多個接口

B、如果要對沒有實現接口的類進行代理,那麼可以使用JDK代理

CCGLB是一個高性能開源的代碼生成包,在使用時需要另外導入CGLB所需要的包

Dspring中的AOP代理,可以是JDK動態代理,也可以是CGLB代理

參考答案:D

 

5、下列有關AOP專業術語中,用於表示切面與程序流程的交叉點的是

AJoinpoint

BPointcut

CAspect

DAdvice

參考答案:B

 

6、以下關於 Spring AOP的介紹錯誤的是()

AAOP的全稱是 Aspect-Oriented Programming,即面向切面編程(也稱面向方面編程

BAOP釆取橫向抽取機制,將分散在各個方法中的重複代碼提取出來,這種採用橫向抽取機制的方式,採用ooP思想是無法辦到的

C、雖然AOP是種新的編程思想,採取橫向抽取機制,ooP的升級替代品

D、目前最流行的AOP框架有兩個,分別爲 Spring AOP AspectJ

參考答案:C

 

7、以下哪種類型不是 Spring中的通知類型()

A、異常通知

B、前置通知

C、後置通知

D、最終通知

參考答案:D

 

8、以下關於 Spring AOP的介紹正確的是()

AAOP的全稱是 Aspect-Oriented Programming,即面向切面編程(也稱面向方面編程)

BAOP採取橫向抽取機制,將分散在各個方法中的重複代碼提取出來,然後在程序編譯或運行時,再將這些提取出來的代碼應用到需要執行的地方

C、雖然AOP是一種新的編程思想,但卻不是OOP的替代品,它只是OOP的延伸和補充

D、目前最流行的AOP框架有兩個,分別爲 Spring AOP AspectJ

參考答案:A,B,C,D

 

9、以下關於 Proxy Factory Bean類中的常用可配置屬性及說法正確的是

Atarget:代理的目標對象

BproxyInterfaces:代理要實現的接口

Cproxy Targetclass:是否對類代理而不是接口,設置爲false,使用CGLB代理

DinterceptorNames:需要織入目標的 Advice

參考答案:A,B,D

註解C:設置爲true,使用CGLB代理

 

10、以下有關 Spring中的通知類型及說法正確的是()

AMethodInterceptor:在目標方法執行前後實施増強,可以應用於日誌、事務管理等功能

BMethod Beforeadvice:在目標方法執行前實施增強,可以應用於權限管理等功能

CAfterReturningAdvice:在目標方法執行後實施增強,可以應用於關閉流、上傳文件、刪除臨時文件等功能

DThrowsAdvice:在方法拋出異常後實施增強,可以應用於處理異常記錄日誌等功能

參考答案:A,B,C,D

 

11、以下有關基於XML的聲明式 Aspect.及配置說法正確的是()

A、基於XML的聲明式 Aspect.是指通過XML文件來定義切面、切入點及通知,所有的切面、切入點和通知都必須定義在< aop: config>元素內

BSpring配置文件中的< beans>元素下可以包含<ap:cong>元素,一個< aop: config>元素中可以包含屬性和子元

C<aop: config>元素的子元素包括< aop pointcut><aop: advise<aop; aspect>,在配置時,3個子元素必須按照此順序來定義

D、使用 AspectJ進行開發還需要導入 Aspect框架相關的JAR

參考答案:A,C,D

 

12、以下術語 Spring AOP常用術語的有()

AAspect

BJoinpoint

CPointcut

DWeaving

參考答案:A,B,C,D

 

13Spring配置文件中的< beans>元素下可以包含多個< aop: config>元素一個< aop: config>元素中可以包含屬性和子元其子元素包括<aop:pointcut>、< aop: advisor>< aop :aspect>

參考答案:

 

14Spring中的AOP代理默認就是使用CGLB代理的方式來實現的()

參考答案:

 

15AOP採取橫向抽取機制,將分散在各個方法中的重複代碼提取出來,

後再將這些提取出來的代碼應用到需要執行的地方,OOP的替代品

參考答案:

 

16AOP專業術語中, Target是指代理的目標對象()

參考答案:

 

17Spring AOP使用純Java實現,不需要專門的編譯過程和類加載器,在運行期間通過代理方式向目標類織入增強的代碼()

參考答案:

 

18Spring中的通知按照在目標類方法的連接點位置,可以分爲4種類型

參考答案:

註解:可以分爲5種類型

 

19Aspect.是一個基於Java語言的AOP框架,它提供了強大的AOP功能

參考答案:

 

20CGLB代理的使用非常簡單,但它還有一定的侷限性使用動態代理的對象必須實現一個或多個接口()

參考答案:

 

21Aspect.是一個基於Java語言的AOP框架, Spring2.0開始, Spring AoP|入了對 Aspect的支持, AspectJ擴展了Java語言,提供了一個專門的編譯器,在編譯時提供橫向代碼的織入()

參考答案:

 

22.目前最流行的AOP框架有兩個,分別爲 Spring AOP AspectJ.()

參考答案:

 

23Proxy Factory Bean Factory Bean接口的實現類, Factory Bean負責實例化個Bean, Proxy Factory Bean負責爲其他Bean創建代理實例

參考答案:

 

24、在 Spring,使用 Proxy Factory Bean是創建AOP代理的最基本方式

參考答案:

 

25、在 Spring,使用 Proxy Factory Bean是創建AOP代理的唯一方式()

參考答案:

 

26、如果要對沒有實現接口的類進行代理,那麼可以使用CGLB代理()

參考答案:

 

27、使用 Aspect.實現AOP有兩種方式:一種是基於XML的聲明式 Aspect.,另一種是基於註解的聲明式 AspectJ()

參考答案:

 

28、如果在同一個連接點有多個通知需要執行,那麼在同一切面中,目標方法之前的前置通知和環繞通知的執行順序是未知的,目標方法之後的後置通知和環繞通知的執行順序也是未知的()

參考答案:

 

29Spring3.0以後, Spring aop引入了對 Aspect.的支持,並允許直接使用 Aspect.進行編程, Spring自身的 AOP AP也儘量與 AspectJ保持一致()

參考答案:

註解:Spring2.0以後

30、使用CGLB創建代理類,該代理類需要實現 MethodInterceptor接口,並實現接口中的 intercept)方法()

參考答案:

 

31AOP的全稱是 Aspect-Oriented Programming,即面向切面編程(也稱面向方面編程)()

參考答案:

 

32AspectJ框架中的註解@Afe用於定義最終fna通知,不管是否異常,該通知都會執行()

參考答案:

 

33AOP專業術語中,切面是指要對哪些 Joinpoint進行攔截()

參考答案:

 

34Aspect.框架爲AOP的實現提供了一套註解,用以取代 Spring配置文件中爲實現AP功能所配置的臃腫代碼()

參考答案:

 

35cGLB是一個高性能開源的代碼生成包,它採用非常底層的字節碼技術,對指定的目標類生成一個子類,並對子類進行增強,在使用時需要另外導入CGLB所需要的包()

參考答案:

第四章

1Spring JDBC模塊主要由4個包組成,其中不包括()

Acore(核心包)

Bdata Source(數據源包)

Cdriver class(數據庫驅動包)

Dsupport(支持包)

叄考答案:C

 

2Jdbc Template的直接父類是()

AJdbcAccessor

BJdbcOperations

CJdbc Supper

DObject

參考答案:A

 

3、下面描述中,關於 query(方法說法錯誤的是()

AList query( String sql, RowMapper rowMapper)會執行stng類型參數提供的sQL語句,並通過 RowMapper回個st類型的結果

BList query( String sq, Prepared StatementSetter pss, RowMapper rowMapper)會根據Stng類型參數提供的sQL語句創建 PreparedStatemen對象,通過 RowMapper將結果返回到List

CList query( String sql, ObjectI args, RowMapper rowMapper)會將args參數綁定到sQL語句中,並通過RowMapper回個object類型的單行記錄

Dquery ForDist( String sql, objectl args, class<T> elementType)可以返回多行數據的結果,但必須是返回列, elementType參數返回的是List元素類型

參考答案:C

 

4、以下有關 SpringJDBC模塊說法錯誤的是()

ASpringJDBC模塊負責數據庫資源管理和數據處理;

BJDBC Spring數據訪問集成中的重要模塊;

CSpring框架降低了包括JDBc的使用難度;

DSpring JDBC的核心類是 Jdbc Template

參考答案:A

註解:ASpringJDBC模塊負責數據庫資源管理和錯誤處理;

 

 

5Jdbc Template類包含在 Spring JDBC模塊的哪個包中()

A、核心包

B、數據源包

C、對象包

D、支持包

叄考答案:A

 

6、下面關於 update(方法描述錯誤的是()

Aupdate(方法可以完成插入、更新、刪除和查詢數據的操作

B、在 JDbc Template類中,提供了一系列的 update(

Cupdate方法執行後,會返回受影響的行數

Dupdate(方法返回的參數是n類型

參考答案:A

 

7、以下有關 Spring配置文件中 data Source數據源配置時的屬性說明正確的

()

Adriver className:所使用的驅動名稱,對應驅動JAR包中的Diver

Burl:數據源所在地址

Cusername:訪問數據庫的用戶名

Dpassword:訪問數據庫的密碼

參考答案:A,B,C,D

 

8、根據測試目的的不同,可以將軟件測試分爲()

A、單元測試

B、集成測試

C、確認測試

D、系統測試

參考答案:A,B,C,D

 

9Spring JDBC模塊core包中包含的類有()

AJdbc Template

BSimpleJdbcInsert

CSimple Jdbc call

DNamedParameterJdbc Template

參考答案:A,B,C,D

 

10、以下 Spring JDBC模塊的主要包及說明正確的是()

Acore:包含了JDBC的核心功能

Bdata Source:訪問數據源的實用工具類

Cobject:以面向對象的方式訪問數據庫

Dsupport:包含了core data Source包的支持類

參考答案:AB,C

註解:Dsupport:包含了core object包的支持類

 

11、以下有關 Jdbc template中常用的 query(方法說法正確的是()

AList query( String sq, RowMapper rowMapper)執行 String類型參數提供的sQ語句,並通過R WApper返回一個List類型的結果

BList query( String sql, ObjectI args. RowMapper rowMapper)使用obec的值來設置SQL語句中的參數值採用 RoWMappe回調方法可以直接返回Lis類型的數據

CqueryForobject(String sql, RowMapper rowMapper, Object.args)args參數綁定到sαL語句中,並通過RowMappet返回個obje類型的單行記錄

DqueryForList( String sq, Object[ args, class< T> element Type)該方法可以返回多行數據的結果,但必須是返回列表, elementType參數返回的是List元素類型。

叄考答案:A,B,C,D

 

12、以下有關 Jdbc Template類中常用的 update(方法說明正確的是()

Aint update(String sq):該方法是最簡單的 Update方法重載形式,它直接執行傳入的sql語句,並返回受影響的行數

Bint update(PreparedStatement creator psc):該方法執行從 PreparedStatement creato返回的語句,然後返回受影響的行數

Cint update (String sql, PreparedStatement Setter pss):該方法通過 PreparedStatementsette設置sQ語句中的參數,並返回受影響的行數

Dint update( String sql, Object.args)該方法使用 Object.設置sQL語句中的參數,要求參數不能爲NUL,並返回受影響的行數

叄考答案:A,B,C,D

 

13、以下關於 Spring框架中 Jdbc Template的說法正確的是()

A、針對數據庫的操作, Spring框架提供了 Jdbc Template

BJdbc Template類是 Spring JDBC的核心類

CJdbc Template繼承自抽象類 JdbcAccessor,同時實現了 Jdbcoperations接口

DJdbcoperations接口定義了在 Jdbc Template類中可以使用的操作集合,包括添加、修改、查詢和刪除等操作

參考答案:A,B,C,D

 

14SpringJDBO中的更新和插入操作設置的參數相同,只是執行SQL語句不同。

參考答案:

 

15Jdbc Template類中的 update(方法可以完成查詢、插入、更新和刪除數據的操作()

參考答案:

 

16、在使用 Jdbc Template進行單個查詢和集合查詢時,封裝的 RowMapper對象方法一樣。

參考答案:

 

17Jdbc Template類中還提供了大量的 query(方法來處理各種對數據庫表的查詢操作()

參考答案:

 

18SpringJDBC模塊負責數據庫資源管理和錯誤處理()

參考答案:

 

19、定義 jdbc Template,需要將 data Source注入到 dbc Template()

參考答案:

 

20Spring JDBC模塊主要由4個包組成,分別是core(核心包)data source(數據源包)object(對象包) support(支持包)()

叄考答案:

 

21、在 Jdbc Template類中 execute( String sql方法能夠完成執行SQL語句的功能()

參考答案:

 

22Jdbc Template類中的 Jint update( String sq方法是最簡單的 update方法重載形式,它直接執行傳入的SQL語句,並返回受影響的行數()

參考答案:

 

23Jdbc Template類的繼承關係十分簡單。它繼承自抽象類 JdbcAccessor,同時實現了 JdbcOperations接口()

參考答案:

 

24、在 Jdbc Template類中,提供了大量的更新和查詢數據庫的方法,我們就是使用的這些方法來操作數據庫的()

叄考答案:

 

25、在使用Jun進行單一測試時,Jn視圖窗口的進度條爲綠色表明運行結果正確;如果進度條爲紅色則表示有錯誤,並且會在窗口中顯示所報的錯誤信息()

參考答案:

 

26Jdbc Operations接口定義了在 Jdbc Template類中可以使用的操作集合,包括添加、修改、查詢和刪除等操作()

參考答案:

 

27Jdbc Template類中的 List query( String sql, RowMapper rowMapper)執行 String類型參數提供的SQL語句,並通過 RowMapper返回一個Lis塽類型的結果()

叄考答案:

第五章

1、以下關於<tx: method>元素的屬性描述錯誤的是()

Aname屬性爲可選屬性,它指定了與事務屬性相關的方法名

Bpropagation用於指定事務的傳播行爲,默認值爲 REQUIRED

Cisolation)用於指定事務的隔離級別,其默認值爲 DEFAULT

Dread-only用於指定事務是否只讀,其默認值爲false

參考答案:A

 

2、以下有關事務管理方式相關說法錯誤的是()

ASpring中的事務管理分爲兩種方式:一種是傳統的編程式事務管理,另種是聲明式事務管理

B、編程式事務管理:是通過AOP技術實現的事務管理,就是通過編寫代碼實現的事務管理,包括定義事務的開始、正常執行後的事務提交和異常時的事務回滾

C、聲明式事務管理:其主要思想是將事務管理作爲一個切面代碼單獨編寫,然後通過AP技術將事務管理的切面代碼植入到業務目標類中

D、聲明式事務管理最大的優點在於開發者無需通過編程的方式來管理事務,只需在配置文件中進行相關的事務規則聲明,就可以將事務規則應用到業務邏輯中

參考答案:B

 

3、下列選項中,哪一個不是 Spring中事務管理的核心接口()

APlatformTransactionManager

BTransaction Definition

CTransaction status

DTransactionManager

參考答案:D

 

4、以下有關 Spring事務管理及核心接口說法錯誤的是()

操作

APlatformTransaction Manager接口是spring提供的平臺事務管理器,主要用於管理事務

BTransaction Definition接口是事務定義(描述)的對象,該對象中定義了事務規則,並提供了獲取事務相關信息的方法

CTransaction Status接口是事務的狀態,它描述了某一時間點上事務的狀態信息

D、在事務管理過程中,傳播行爲可以控制是否需要創建事務以及如何創建事務,通常情況下,對於數據的查迿插入、更新和刪除操作,必須進行事努管理

參考答案:D

 

5、以下基於XML方式的聲明式事務管理配置文件中<tx: advice>元素的子元

< tx method>屬性描述錯誤的是()

Aname:該屬性爲必選屬性,它指定了與事努屬性桕關的方法名

Bpropagation:用於指定事務的傳播行爲,它的默認值爲 SUPPORTS

Cisolation:該屬性用於指定事務的隔離級別,其默認值爲 DEFAULτ

Dread-only:該屬性用於指定事務是否只讀,其默認值爲lse

參考答案:B

 

6、以下關於@Transactiona註解可配置的參數信息及秒正確的是()

Avalue用於指定需要使用的事務管理器,默認爲””;

Bread-only用於指定事務是否只讀,默認爲true;

Cisolation用於指定事務的隔離級別,默認爲 Isolation READ COMMITTED;

Dpropagation用於指定事務的傳播行爲,默認爲 Propagation. SUPPORTS;

參考答案:A

 

7、以下有關 Spring Transaction Status接口的方法及說明錯誤的是()

AFlush(刷新事務

BisCompleted()取事務是否完成

CisNewTransaction()取是否是新事務

DsetFallbackonly()設置事務回滾

參考答案:D

 

8PlatformTransaction Manager接口常見的幾個實現類有()

AData Source TransactionManager

BHibernate TransactionManager

C.   batisTransaction Manager

DJta Transaction Manager

參考答案:A,B,D

 

9、以下屬於基於XML方式的聲明式事務管理配置文件中<: advice>元素的

子元素 tx method>的屬性有()

Aname

Bpropagation

Cisolation

Dread-ony

參考答案:A,B,C,D

 

10、以下哪些屬於< tx: method>元素中的常用屬性()

Aname

Bpropagation

Cisolation

Dtimeout

參考答案:A,B,C,D

 

11、以下哪些屬於@Transactiona髒註解的可配置參數()

Avale

BtransactionManager

Cisolation

Dpropagation

參考答案:A,B,C,D

 

12Transaction Definition接口提供的獲取事務相關信息的方法有()

AgetNameO

BgetlsolationLevel0

CgetPropagation Behavior

DsetTimeout0

參考答案:A,B,C,D

 

13Platform TransactionManager接口中操作事務的方法有 getTransaction(0)commit() fallback方法。

參考答案:

 

14、基於XML方式的聲明式事務管理是通過在配置文件中配置事務規則的相關聲明來實現的()

參考答案:

 

15Spring的聲明式事務管理還可以通過 Annotation(註解)的方式來實現,這種方式的使用非常簡單()

參考答案:

 

16< tx method>元素的屬性 timeou用於指定事務超時的時間,其默認值爲1,即永不超時。

參考答案:

 

17Spring的事務管理簡化了傳統的事務管理流程,並且在一定程度上減少了開發者的工作量()

參考答案:

 

18、對數據庫數據的插入、更新、刪除和查詢操作,都必須進行事務管理。

參考答案:

 

19、基於XML方式的聲明式事務管理是通過在配置文件中配置事務規則的相關聲明來實現的。()

參考答案:

 

20Spring的聲明式事務管理可以通過兩種方式來實現,一種是基於XML的方式,種是基於 Annotation的方式()

參考答案:

 

21、編程式事管理:是通過AoP技術實現的事務管理()

參考答案:

註解:聲明式管理:是通過AoP技術實現的事務管理

22、註解@Transactional< tx method>元素中的事務屬性基本是對應的,並且其含義也基本相似。

參考答案:

 

23spring配置文件的名稱可以自定義,通常在實際開發中,都會將配置文件命名爲 applicationContext. xm()

參考答案:

 

24、初學者學習 Spring框架時,只需將 Spring4個基礎包以及 commons-ogging. Jar複製到項目的b目錄,併發布到類路徑中即可()

參考答案:

 

25Spring具有簡單、可測試和鬆耦合等特點()

叄考答案:

 

26、依賴注入(D)與控制反轉(loC)的含義不同,描述的不是同一個概念()

參考答案:

 

27Spring框架可以和Ss2 Hibernate框架進行整合()

參考答案:

 

28Spring不僅可以用於服務器端開發,也可以應用於任何Jav應用的開發中()

參考答案:

 

2Spring框架的 Beans模塊提供了 spring框架的基本組成部分,包括loD功能()

參考答案:

 

30、在 Spring入門程序開發中,只需將 Spring4個基礎包以及 commons-oggIngJAR包複製到目錄中即可()

參考答案:

 

31、依賴注入的作用就是在使用 Spring框架創建對象時,動態的將其所依賴的對象注入到Bean組件中()

參考答案:

 

32Spring是一個輕量級的開源框架()

參考答案:

 

33Spring框架提供了兩種核心容器,分別爲 Bean Factory ApplicationContext()

參考答案:

 

34Spring就是一個大工廠,可以將所有對象的創建和依賴關係的維護工作都交給 Spring容器管理,大大的降低了組件之間的耦合性()

參考答案:

 

35Spring框架的主要功能是通過其核心容器來實現的()

參考答案:

 

36Spring框架釆用的是分層架構,它一系列的功能要素被分成20個模塊

參考答案:

 

1My Batis框架下載並解壓後,有關 mybatis-3x的文件夾內容說明正確的是()

A|b文件下就屬於 MyBatis框架開發的所有JAR

Bmybatis3Wrd屬於 My Batist使用手冊

C、其中 mybatis-3xar屬於 MyBatis核心包

D、以上說發都錯誤

叄考答案:C

 

2My Batis的刪除操作有關說發錯誤的是()

AMyBatis的刪除操作在映射文件中是通過配置<deee>元素來實現的

BMyBatis的刪除操作也需要進行事務提交

CMy Batish的刪除操作執行了 Sqlsessionoete(方法

DMy Batis的刪除操作和添加操作時,也需要封裝整個實體類

叄考答案:D

 

3、有關 My Batis工作原理說法錯誤的是()

AMyBatis的全局配置文件配置了 MyBatis的運行環境等信息,其中主要內容是獲取數據庫連接

BMyBatis映射文件中配置了操作數據庫的SQL語句,需要在 My Batish的全局配置文件中加載才能執行

C、可以通過 My Batis的環境等配置信息構建會話對象 Sqlsession

DSqlsessior對象,該對象中包含了執行SQL的所有方法

參考答案:C

 

4My Batis的更新操作有關說發錯誤的是()

AMyBatis的更新操作在映射文件中是通過配置 <update>元素來實現的

BMBas的更新操作也需要進行事務提交

CMBas的更新操作執行了 Sqlsession update方法

DMy Batis的更新操作和添加操作時,只需要將 insert()法改爲 updat(方法即可

參考答案:D

 

5、關於 MyBatis模糊查詢中進行SQL字符串拼接時,說法錯誤的是()

A、使用5進行SQL字符串拼接時,無法防止sL注入問題

B、可以使用MSQL中的 Concat函數進行字符串拼接

C、使用 MySQL中的 conca函數進行字符拼接,也無法防止soL注入

D、使用MsL中的 conca函數進行字符串拼接,導致數據庫移植性變差

叄考答案:C

 

6、使用ORM框架後,應用程序不再直接訪問底層數據庫,而是以()

方式來操作持久化對象(PO, Persisent object)

A、面向業務

BHibernate

C、面向對象

DMy Batis

叄考答案:C

 

7My Batis框架對比與 Hibernate框架的說明正確的是()

A、使用 My Batis手動編寫SQL要比使用 Hibernate的工作量大

BMyBatis可以配置動態SQL並優化sQL

CMy Batis更新數據時,需要發送所有字段;不支持存儲過程

D、對於些複雜的和需要優化性能的項目來說,使用 My Batis更加合適

叄考答案:A,B,D

 

8、在 MyBatis框架官網下載地址有幾個下載鏈接,關於這三個下載鏈接說

明正確的是()

Amybatis-3xzip windows系統下 MyBatis框架的壓縮包

Bmyatt3. x. tar. zip Linux系統下 MyBatis框架的壓縮包

CSource code(zip) windows系統下 MyBatis框架的源碼包

DSource code( tar.gz)Lnux系統下 MyBatis框架的源碼包

參考答案:A,C,D

 

9Mapped Statement對象會對用戶執行SQL語句的輸入參數進行定義,

些參數類型可以是()

AMap

BLis類型

C、基本類型

DPOJo類型

參考答案:A,B,C,D

 

10、入門程序中 My Batis的全局配置文件中主要編寫的內容有()

A、數據庫環境配置

BJDBC事務管理

C、映射文件路徑配置

D、緩存插件配置

叄考答案:A,B,C

 

11My Batis入門程序中添加操作有關說法正確的是()

A、在 My Batis的映射文件中,添加操作是通過 <insert>元素來實現的

B、在 MyBatis的映射文件中,添加操作的 parametertype必須是PO類型

C、在 MyBatis添加操作使用了 Sqlsessionad(方法

D、在 My Batis添加操作需要進行事務提交

參考答案:A,D

 

12My Batis個全表映射的框架,通常開發者只需定義好持久化對象到數據庫表的映射關係,就可以通過 My Batis提供的方法完成持久層操

作。

參考答案:

 

13My Batis映射文件中< mappers>元素是配置文件的根元素,它包含個namespace屬性,該屬性爲這個< mapper>指定了唯一的命名空間()

參考答案:

 

14My Batis(前身是jats)是一個支持普通SQL查詢、存儲過程以及高級映射的持久層框架。

參考答案:

 

15My Batis的刪除操作也需要進行事務提交()

叄考答案:

 

16My Batis的刪除操作在映射文件中是通過配置< delete>元素來實現的

參考答案:

 

17、創建數據庫的語句如下: CREATE DATABASES mybatis;()

參考答案:

 

18My Batis的更新操作也需要進行事務提交()

參考答案:

 

19、在 My Batis的映射文件中,添加操作是通過<add>元素來實現的()

叄考答案:

 

20My Batis映射文件中配置了操作數據庫的SQL語句,需要在 My Batis的全局配置文件 mybatis- config. xm中加載才能執行。 mybatis-config xm可以加載多個配置文件,每個配置文件對應數據庫中的張表()

叄考答案:

 

21My Batis的更新操作在映射文件中是通過配置 update元素來實現的

參考答案:

 

22My Batis的最近版本是 mybatis-3X系列的,本書所講解的 MyBatis框架就是基於此版本的,可以通過網址"https://githuBcom/mybatis/mybatis3rleases"下載得到。

叄考答案:

 

23、使用 My Batis框架非常簡單,只需在應用程序中引入 My Batis的核心包和ib目錄中的依賴包即可進行項目運行()

參考答案:

 

24My Batis的全局配置文件,通常配置了 My Batis的運行環境等信息,其中主要內容是獲取數據庫連接()

叄考答案:

 

25、使用 My Batis框架非常簡單,只需在應用程序中引入 MyBatis框架目錄中的全部JAR包以及數據庫驅動包即可進行項目運行()

參考答案:

 

26My Batis入門程序中進行添加操作時不會有返回值()

參考答案:

 

27、創建的映射文件中的SQL語句要以面向對象的寫法進行書寫()

參考答案:

 

28ORM就是一種爲了解決面向對象與關係型數據庫中數據類型不匹配的技術,它通過描述Java對象與數據庫表之間的映射關係,自動將Java應用程序中的對象持久化到關係型數據庫的表中()

叄考答案:

 

 

1、以下關於< select>元素及其屬性說法錯誤的是()

A<seec>元素用來映射查詢語句,它可以幫助我們從數據庫中讀取出數據,並組裝數據給業務開發

人員

B parameterType屬性表示傳入SQL語句的參數類的全限定名或者別名

C resultMap表示外部 resultMap的命名引用,返回時可以同時使用 resultType resultMap

D、在同一個映射文件中可以配置多個< select元素

參考答案:C

 

2、以下有關 My Batis映射文件中< insert>元素說法正確的是()

A< insert>元素用於映射插入語句,在執行完元素中定義的SQL語句後,沒有返回結果

B< insert>元素的屬性與< select元素的屬性相同

C key Column屬性用於設置第幾列是主鍵,當主鍵列不是表中的第一列時需要設置

D use GeneratedKeys(僅對 insert有用)此屬性會使 My Batis使用JDBc getGenerated Keys0

方法來獲取由數據庫內部生產的主鍵

參考答案:C

 

3、有關 My Batis配置文件中< settings>元素的說法錯誤的是()

A< settings>元素主要用於改變 My Batis運行時的行爲,例如開啓二級緩存、開啓延遲加載等

B、雖然不配置< settings>元素,也可以正常運行 My Batis,但是熟悉< settings>的配置內容以及它們

的作用還是十分必要的

C< settings>元素中延遲加載的全局開關的參數 lazy Enabled默認開啓

D< settings>元素的配置內容大多數都不需要開發人員去配置它,通常在需要時只配置少數幾項即可

參考谷案:C

 

4、以下有關<sq>元素說法錯誤的是()

A<sq>元素的作用就是定義可重用的soL代碼片段,然後在其他語句中引用這一代碼片段

B、使用< nclude>元素的refd屬性可以引用自定義的代碼片段

C、使用< include>元素refd的屬性值爲自定義代碼片段的name

D<sq元素是< mapper>元素的子元素

參考答案:C

 

5、關於< typeHandlers>元素說法錯誤的是

A< typeHandler>元素就是用來在配置文件中註冊自定義的類型處理器的,它的使用方式有兩種

B、通過< ypeHandlers>元素的子元素< typeHandle就可以配置單個類型處理器

C、通過< typeHandlers>元素的子元素< package>可以配置包下的所有類型處理器

D< typeHandlers>元素的子元素 package> handler屬性用於指定類型處理器所在的包名,系統會

在啓動時自動的掃描 com. itheima type包下所有的文件,並把它們作爲類型處理器

參考答案:D

 

6、關於 My Batis配置文件中< typeAliases>元素說法錯誤的是()

A、可以通過在 My Baits中配置< typeAliases>元素來定義別名

B My Baits配置文件中< type Aliases>元素的子元素< type Alias>需要配置typeaias屬性

C、可以通過在類名上使用@Aias(vaue="user)的形式定義別名

D、同時在 MyBaits中配置了< typeAliases>元素以及@ Alias( value="user")註解定義別名後,會以注

解形式的別名爲準

參考答案:B

 

7、以下有關 SqlSession Factory的說法正確的是()

A SqlSession Factory MyBatis框架中十分重要的對象,其主要作用是創建 Sqlsession

B SqlSession Factory對象的實例可以通過 SqlSession Factory Builder對象來構建

CSq| Session Factory對象是線程安全的,它一旦被創建,在整個應用執行期間都會存在

D、通常每一個數據庫都會只對應一個Sq| Session Factory,所以在構建 SqlSession Factory實例時,

建議使用單列模式

參考答案:ABCD

 

8

爲了方便轉換, MyBatis框架提供了一些默認的類型處理器,包括有()

A BooleanTypeHandler

B nteger TypeHandler

C FloatTypeHandler

D Date TypeHandler

參考答案:ABCD

 

9、關於< environments>元素及其子元素的說法正確的是()

A、在配置文件中,< environments>元素用於對環境進行配置

B、在< envronments>元素中可以配置1< environment>子元素,包含事務管理和數據源的配置信息

C< environment>的子元素< data Source>用於配置數據源,它的type屬性用於指定使用哪種數據源

D、可以通過< environments>元素配置多種數據源,對於數據源的配置, My Batis框架提供了

UNPOOLED POOLEDJND三種數據源類型

參考答案:ACD

 

10、在配置文件中,< mappers>元素用於指定 My Batis映射文件的位置,一般可以使用以下哪些方法引

入映射器文件()

A、使用本地類路徑引入

B、使用本地文件路徑引入

C、使用接口類引入

D、使用包名引入

參考答案:ABCD

 

11 My Baits配置文件中的主要元素包括以下()

A< properties>元素

ww. lddoc cn

B< settings>元素

C <environments>元素

D< mappers>元素

參考答案:ABCD

 

12、關於類型處理器 typeHandler的說法正確的是()

A typeHandler的作用就是將預處理語句中傳入的參數從 javaType(Java類型)轉換爲

jdbcType(JDBC類型),或者從數據庫取出結果時將 jdbcType轉換爲 javaType

B、爲了方便轉換, My Batis框架提供了一些默認的類型處理器

C、還可以通過自定義的方式對類型處理器進行擴展(自定義類型處理器可以通過實現 TypeHandler

接口或者繼承 BaseTypeHandle類來定義)

D< typeHandler>元素就是用來在配置文件中註冊自定義的類型處理器的,它的使用方式有兩種

參考答案:ABCD

 

13、有關 My Batis配置文件中< properties>元素的說明正確的是()

A< properties>是一個配置屬性的元素,該元素通常用來將內部的配置外在化,即通過外部的配置來

動態的替換內部定義的屬性

B、通常可以使用< properties>元素的 resource屬性引入外部常量配置文件

C、除了可以使用 properties>元素的 resource屬性引入外部常量配置文件,還可以通過< properties>

元素的子元素< property>來獲取屬性值

D、使用 properties配置文件來配置屬性值可以方便地在多個配置文件中使用這些屬性值,並且方便

日後的維護和修改

參考答案:ABCD

 

14

sresultMap> My Batis映射文件中最重要也是最強大的元素,包含了一些子元素主要有()

A<id>

B< result/>

C <association property="p>

D <collection property

y=”

參考答案: AB CD

 

15、有關 My Batis中對象工廠 ObjectFactory的說法錯誤的是()

A My Batis框架每次創建結果對象的新實例時,都會使用一個對象工廠( ObjectFactory)的實例來

完成

B My Batis中默認的 ObjectFactory的作用就是實例化目標類,它只可以通過默認構造方法實例化

C、想要實例化目標類,就要通過自定義 ObjectFactory,然後進行配置來實現

D、在配置文件中使用< objectFactory>元素可以配置自定義的 ObjectFactory

參考答案:BC

 

16、有關< resultMap>元素相關說法正確的是()

A< resultMap>元素的主要作用是定義映射規則、級聯的更新以及定義類型轉化器等

B、當數據表中的列和對象的屬性不一致時,此時就可以使用< cresultMap>元素進行處理

C< cresultMap>元素中的< association>< collection>用於處理多表時的關聯關係

D、以上都正確

參考答案:ABCD

 

17、關於 My Batis配置文件中< typeAliases>元素說法正確的是()

A< typeAliases>元素用於爲配置文件中的Java類型設置一個簡短的名字,即設置別名

B< typeAliases>元素的子元素< type Alias>中的type屬性用於指定需要被定義別名的類的全限定名

alias屬性的屬性值就是自定義的別名

C、如果省略< typeAliases>元素的 alias屬性, MyBatis會默認將類名作爲別名

D、也可以通過在類名上使用@ Alias(value="user)的形式定義別名

參考答案:ABD

 

18My Batis映射文件中< insert>< selectKey>子元素可以設置以下幾種屬性()

A key Property

B resultType

C statementType

D order

參考答案:ABCD

 

19 MyBatis映射文件中主要元素包括()

A<select>

B<update>

C<sql>

D<resultType>

參考答案:ABC

 

20、以下有關 Sqlsession的說明正確的是()

A SqlSession My Batis框架中另一個重要的對象,其主要作用是執行持久化

B、每一個線程都應該有一個自己的 Sqlsession實例,並且該實例是不能被共享的

C Sqlsession實例也是線程不安全的,因此其使用範圍最好在一次請求或一個方法中

D、使用完 Sqlsession對象之後,要及時的關閉它,通常可以將其放在fnay塊中關閉

參考答案:ABCD

 

21My Baits映射文件中< select>元素的常用屬性包括有()

A flush Cache

B parameter Type

C resultType

D useCache

參考答案:ABCD

 

22、使用< nclude>元素的refd屬性可以引用自定義的代碼片段,refd的屬性值爲自定義代碼片段的name

參考答案:

 

23My Batis框架提供了許多默認別名,由於別名不區分大小寫,所以在使用時要注意重複定義的覆蓋問題()

參考答案:

 

24、在映射文件中,< mappers>元素是映射文件的根元素,其他元素都是它的子元素()

參考答案:

 

25 SqlSession Factory My Batis框架中十分重要的對象,它是單個數據庫映射關係經過編譯後的內存鏡像,其主要作用是創建 SqlSession()

參考答案:

 

26 Sqlsession My Batis框架中另一個重要的對象,它是應用程序與持久層之間執行交互操作的一個單線程對象,其主要作用是執行持久化操作()

參考答案:

 

27<update><delete>元素的使用比較簡單,它們的屬性配置也都相同()

參考答案:

答案解析:屬性配置不完全相同

 

28<select>元素屬性 resultType表示從SQL語句中返回的類型的類的全限定名或者別名。如果是集合類型,那麼返回的應該是集合可以包含的類型,而不是集合本身()

參考答案:

 

29、映射文件中可以包含多箇舊d值相同的< resultMap>元素()

參考答案:

 

30 My Batis映射文件中< nsert>中配置了子元素< selectKey>,< selectKey>會首先運行,它會通過自定義的語句來設置數據表中的主鍵()

參考答案:

 

31<typeAliases>元素用於爲配置文件中的Java類型設置別名,其使用的意義在於減少全限定類名的冗餘()

參考答案:

 

32、與<insert>元素一樣,<update><delete>元素在執行完之後,也會返回一個表示影響記錄條數的整數()

參考答案:

 

33<configuration>的子元素必須按照指定的順序進行配置,否則 My Batis在解析XL配置文件的時候會報錯()

參考答案:

 

34 My Batis允許在己映射語句執行過程中的某一點進行攔截調用,這種攔截調用是通過插件來實現的。< plugins>元素的作用就是配置用戶所開發的插件()

參考谷案:

答案解析:

 

35<resultMap>的子元素<association><collection>用於處理多表時的關聯關係()

參考答案:

 

36<resultMap>元素表示結果映射集, My Batis中最重要也是最強大的元素。它的主要作用是定義映射規則、級聯的更新以及定義類型轉化器等()

對錯

參考答案:

 

37 My Batis映射文件中< insert>元素用於映射插入語句,在執行完元素中定義的SQL語句後,沒有返回結果()

對錯

參考谷案:

 

38 My Baits映射文件中<sq>元素的作用就是定義可重用的SQL代碼片段,然後在其他語句中引用這一代碼片段()

參考答案:

 

39、在 My Batis框架的核心配置文件中,< configuration>元素是配置文件的根元素,其他元素都要在< configuration>元素內配置()

參考答案:

 

40、如果項目中使用的SsM整合開發,就需要在 My Batis中配置事務管理器,而在 Spring中進行數據源配置()

參考答案:

 

41

< settings>元素中的配置參數 cacheEnabled用於影響所有映射器中配置的緩存

全局開關,默認值爲 false()

對錯

參考谷案:

 

42< settings>元素主要用於改變 My Batis運行時的行爲,例如開啓二級緩存、開啓延遲加載等

參考答案:

 

43< typeHandlera>元素就是用來在配置文件中註冊自定義的類型處理器的()

參考答案:

 

44< properties>是一個配置屬性的元素,該元素通常用來將內部的配置外在化,即通過外部的配

置來動態的替換內部定義的屬性()

對錯

參考答案:

 

45Sq| Session Factory對象是線程安全的,它一旦被創建,在整個應用執行期間都會存在()

參考答案:

 

46、在 MyBatis配置文件中< settings>元素的作用十分重要,所以必須要掌握並進行配置,否則會

影響 My Batis的正常運行()

對錯

參考答案:

 

47 My Batis映射文件中< mapper>的子元素必須按照指定的順序進行配置,否則 My Batis在解析

XML映射文件的時候會報錯()

參考答案:

 

48、除了可以像上述通過外部配置文件來定義屬性值外,還可以通過配置 properties>元素的子元

< property>,以及通過方法參數傳遞的方式來獲取屬性值()

參考答案:

 

49 My Batis中默認的 ObjectFactory的作用就是實例化目標類,它既可以通過默認構造方法實例

,也可以在參數映射存在的時候通過參數構造方法來實例化()

對錯

參考答案:

 

50Sq| Session實例也是線程安全的,可以將其放在一個類的靜態字段、實例字段或任何類型的管

理範圍( Servlet Httpsession)中使用()

參考谷案:

 

51

My Batis映射文件中< select>元素用來映射查詢語句,它可以幫助我們從數據庫中讀取出數據,並組

裝數據給業務開發人員()

對錯

參考答案:

 

52

My Batis映射文件的<nse>元素的屬性與< select>元素的屬性大部分相同,但還包含了3個特有屬

()

參考答案:

 

53、在配置文件中,≤ environments>元素用於對環境進行配置。 MyBatis的環境配置實際上就是數

據源的配置,我們可以通過< environments>元素配置多種數據源,即配置多種數據庫()

對錯

參考答案:

 

每一個線程都應該有一個自己的 Sqlsession實例,並且該實例是不能被共享的

()

參考答案:

 

1、以下關於 My Batis<set>元素的使用及說法正確的是()

A.<set>元素主要用於更新操作,其主要作用是在動態包含的sQL語句前輸出一個sET關鍵字,並將SQL語句中最後一個多餘的

逗號去除

B、使用 My Batis<set>元素來更新操作時,前端需要傳入所有參數字段,否則未傳入字段會默認設置爲空

C、在映射文件中使用<set><元素組合進行 update語句動態sQL組裝時,<set>元素內包含的內睿可以都爲空,元素會進

行判斷處理

D、在映射文件進行更新操作時,只需要使用<set>元素就可以進行動態sQL組裝

參考答案:A

 

2、當有多個選擇的情況是,值需要從多個選項中選擇個去執行時,可以使用的動態sαL元素

()

A<if

B< choose><when>< otherwise>

C<hen>

D<set>

參考答案:B

 

3sQL語句中, where後直接跟anD、這在運行時肯定會報()錯誤

AsQL語法

B、無效字符

C、參數異常

D MySQL版本

參考答案:A

 

4、以下不屬於<oreach>元素中使用的屬性的是()

A separator

B collection

ooo

C current

Ditem

參考答案:c

 

5、以下有關 MyBatis動態sL中的主要元素說法錯誤的是()

A<f用於單條件分支判斷

B< choose>(<when>< otherwise>)用於多條件分支判斷

C< foreach>循環語句,常用於in語句等列舉條件中

D<bndOGNL表達式中創建一個變量,並將其綁定到上下文,只於模糊查詢的sq

參考答案:D

 

6、以下關於 foreach>元素中使用的幾種屬性的描述錯誤的是()

Atem:配置的是循環中當前的元素

B index:配置的是當前元素在集合的位置下標

c. collection:配置的是傳遞過來的參數類型,它可以是一個araylst( collection)Map集合的鍵、PJ包裝類中數組或

集合類型的屬性名等

D separator:配置的是各個元素的間隔符

參考答案:c

 

7、以下關於 My Batis動態saL<trim元素< where>元素說法錯誤的是()

(1)

A、使用 where>元素替換條件" where1=1",既保證了 where後面的親件成立,又避免了 where後面第一個詞是and或者or之類

的關鍵詞

B、使用 where>元素對 ' where1=1條件進行了替換,只用當< where>元素的test屬性成立纔會在拼接sL中加入were關鍵字

否則將不會添加

C<trim>元素和 <where>元素功能相同,都是對對" where1=1"條件進行替換,並去除多餘字符

D、以上說法都正確

參考答案:BCD

 

8 My Batis動態sQL中的主要元素包含有()

A<i

B<trim>

<set>

D<bind>

參考答案:ABCD

 

9、關於<1元素的使用及說法正確的是()

A、在 My Batis,<i元素是最常用的判斷語句,它類似於Java中的句,主要用於實現某些簡單的多條件分支判斷

B、使用元素的tes屬性可以對傳入參數進行條件判斷,如果傳入的條件成立就進行動態sL組裝

C<i元素可以出現多個

D、以上說法都正確

參考答案:Bc

 

10、以下關於在進行模糊査詢編寫sαL語句的時候可能出現問題描述正確的是()

A、如果使用"$”進行字符串拼接,則無法防止sQL注入問題

B、如果使用 concat函數進行拼接,則只針對 MySQL數據庫有效

C、如果使用的是 Oracle數據庫,則要使用連接符號"‖

D、如果使用的是 My Batis框架,則要使用<bind>元素來解決

參考答案:ABC

 

11、以下有關< hoose>及其子元素說法錯誤的是()

A MyBatis動態sQL中的< choose>when>< otherwise>元素類似Java中的 switch

case

deau語句,用於進行多條件分支

判斷

B、只要hen>元素中的test屬性條件判斷成立,就會動態組裝sQL

C My Batis動態sQL中的< choose元素內,可以有多個when>< otherwise>子元素

D、以上說都正確

參考答案:ABCD

 

12、使用<元素的tes屬性可以對傳入參數進行條件判斷,如果傳入的條件成立就進行動態sL

組裝。()

參考答案:

 

13 My Batis動態sαL<trm>元素 <where>元素功能相同,都是對 where1=1"條件進行了替換,

去除一些特殊的字符串

參考答案:

 

14、當前端傳遞參數名爲ids的封裝ld的集合參數時,< foreach>元素的 collection屬性值需要跟參

數名ids對應()

參考答案:

 

15 My Batis動態sQL where>元素就是爲了去除組裝的sL語句中第一個多餘的andor()

參考答案:

 

16 My Baits中的<ch。。se>when>< otherwise>元素用於多條件分支判斷, cwhen>元素中

的條件爲真,就進行動態組裝hen>元素內的sQL片段,以此類推()

參考答案:

 

17、使用了< choose>元素進行sQL拼接,只要-when>元素中的條件爲真,就會進行組裝

參考答案:

 

18 My Batis動態sQL中的< choose><When>< otherwise>元素類似Java中的 switch.case.d

efau語句,用於進行多條件分支判斷()

參考答案:

 

19、在使用<i元素時,只要test屬性中的表達式爲tue,就會執行元素中的件語句

參考答案:

 

20 My Batis動態sQL<trm>元素就是爲了去除組裝的sαL語句中第-個多餘的and或。r

參考答案:

 

21 My Batis中的< oreach>元素可以用於對數組和集合循環諞歷,批量執行sαL操作()

參考答案:

 

22 My Batis中的<set>元素主要用於更新操作,其主要作用是在動態包含的sαL語句前輸出

sET關鍵字,並將SQL語句中最後一個多餘的逗號去除()

參考答案:

 

23 My Baits<trm>元素的作用是去除一些特殊的字符串,它的 prefix屬性代表的是語句的前

, prefixOverrides屬性代表的是需要去除的哪些特殊字符串()

參考答案:

 

24<bind>元素中 value的屬性值就是拼接的查詢字符串,即必須與傳遞的參數變量名一致,us

ername()

參考答案:

 

25、使用 My Batis<set>元素來更新操作時,前端需要傳入所有參數字段,否則末傳入字段會默

認設置爲空()

參考答案:

 

26、在 Hibernate,如果想要更新某個對象,就需要發送所有的字段給持久化對象。

參考答案:

 

27、在 My Batis<元素用於單條件分支判斷,當某個itest性判斷成立,然後跳過其他<if

>元素進行動態SQL組裝()

參考答案:

 

28、在 My Batis,<i元素是最常用的判斷語句,它類似於Java中的語句,主要用於實現某些

簡單的條件選擇()

參考答案:

 

29、動態sαL My Batis的強大特性之一, My Batis3採用了功能強大的基於GNL的表達式來完成

動態sαL,它消除了之前版本中需要了解的大多數元素,使用不到原來半的元素就能完成

所需工作。()

參考答案:

 

30、可以將任何可迭代對象(如列表、集合等)和任何的字典或者數組對象傳遞給 oreach作爲

集合參數()

參考答案:

 

31 My Batis動態sQL中的<chose>元素內,可以有多個when>< otherwise>子元素()

參考答案:

 

32、在 My Baits映射文件中使用<set><元素組合進行 update語句動態sQL組裝時,如果<set>

元素內包含的內容都爲空,則會出現sL語法錯誤()

參考答案:

 

33 My Batis提供了<bind>元素可以解決模糊査詢時sαL注入問題,且不會彯響數據庫移植()

參考答案:

 

下面關於Java對象之間的關聯關係描述正確的是()

A、一對一的關係就是在本類和對方類中定義同一個類型的對象

B、一對多的關係:就是一個A類類型對應多個B類類型的情況

C、多對多的關係只需要在一方的類中引入另一方類型的集合

D、多對多關聯關係需要在本類中引入本類的集合

參考答案:B

 

2.下面屬性中不屬於< association>元素屬性的是()

A property

B column

C ofType

D javaType

參考答案:c

 

3、在Java,以下有關類的關聯關係描述錯誤的是()

A、在Java,通過對象也可以進行關係描述,他們分別爲一對一、一對多、多對一和多對多

B、一對一的關係就是在本類中定義對方類型的對象

C、一對多的關係就是一個A類類型對應多個B類類型的情況,需要在A類中以集合的方式引1B類類型的對象,

B類中定義A類類型的屬性a

D、多對多的關係:A類中定義B類類型的集合,B類中定義A類類型的集合。

參考答案:A

 

4、下面關於≤c lection>元素的描述正確的是()

A My Batis就是通過< collection>元素來處理一對多關聯關係的

B< collection>元素的屬性與< association>元素完全相同

C ofType屬性與 javaType屬性對應,它用於指定實體對象中所有屬性所包含的元素類型

D< collection>元素只能使用嵌套查詢方式

參考答案:A

 

5、以下關於 My Batis映射文件中association>元素屬性的說明錯誤的是

A property:指定映射到的實體類對象屬性,與表字段一對應;

B column:指定表中對應的字段

C java Type:指定映射至實體對象屬性的類型

D. fetchType:指定在關聯查詢時是否啓用延遲加載。 fetchType屬性有lazy leager兩個屬性值,默認值爲 eager

參考答案:D

 

6、下面關於數據庫中多表之間關聯關係說法錯誤的是()

A、一對一關聯關係可以在任意一方引入對方主鍵作爲外鍵

B、一對多關聯關係在一的一方,添加多的一方的主鍵作爲外鍵

C、多對多關聯關係會產生中間關係表,引入兩張表的主鍵作爲外鍵

D、多對多關聯關係的兩個表的主鍵成可以爲聯合主鍵或使用新的字段作爲主鍵

參考答案:B

 

7、以下關於association>元素中常用屬性說法錯誤的是()

A property指定映射到的實體類對象屬性,與表字段一對應

B column指定表中對應的字段

C javaType指定映射到實體對象屬性的類型

D fetchType指定在關聯查詢時是否啓用延遲加載,默認值爲 eager

參考答案:D

 

8、以下 My Batis—對多關聯映射的使用及說法正確的是()

A My Batis是通過< resultMap>元素的< collection>子元素該元素來處理一對多關聯關係的

B< collection>子元素的屬性大部分與< association>元素相同,但其還包含個特殊屬性 fType

C My Batis一對多關聯映射同樣可以使用嵌套結果和嵌套查詢的方式

D ofType屬性與 javaType屬性意義相同

參考各案:ABc

 

9 My Batis映射文件中≤c ection>元素通常可以配置以下屬性()

A property

B column

D select

參考答案:ABCD

 

10、以下有關 My Batis中多對對關聯映射的使用及說法正確的是()

A My Batis是通過< esultMap>元素的< association>子元素該元素來處理多對一關聯關係的

B、多對多關聯映射中的< association>子元素與一對多中的<ass catien>子元素用法和屬性相同

C My Batis是通過< resultMap>元素的< collection>子元素該元素來處理多對一關聯關係的

D、多對多關聯映射中也有嵌套查詢和嵌亹結果兩種方式

參考答案:CD

 

11 My Batis映射文件中association>元素通常可以配置以下屬性()

property

B fetchType

Coype

D select

參考答案:ABD

 

12、在關係型數據庫中,多表之間的關聯關係主要包括()

A、一對

B、一對多

C、多對

D、多對多

參考答案:ABCD

 

3 My Batis關聯映射的<ass ciation>元素和≤c ollection>元素中都已默認配

置了延遲加載屬性。

參考答案:

 

14、使用 My Batis嵌套結果的方式進行關聯查詢只執行條SQL語句。

參考答案:

 

15 My Batis是誦過< resultMap>元素的< collection>子元素該元素來處理-

對一關聯關係的()

參考答案:

 

16 My Batis是同樣是通過 resultMap>元素的<c ection>子元素該元素來

處理多對多關聯關係的()

 

參考答案:

 

17、在關係型數據庫中,多表之間存在着三種關聯關係,分別爲一對一、多

對一和多對多()

參考答案:

 

18、在Java,一對多的關係就是在A類中以集合的方式引入B類類型的對

,B類中定義A類類型的屬性a

參考答案:

 

1s My Batis中多對多關聯映射同樣有嵌套查詢和嵌套結果兩種關聯方式。

對寸

參考答案:

 

20 My Batis是通過 resultMap>元素的<c ection>子元素該元素來處理一

對多關聯關係的()

參考答案:

 

21、以訂單和商品爲例,—個訂單可以包含多種商品,所以訂單和商品之間

屬於一對多關係。

參考答案:

 

22、在數據庫中,多對多的關聯關係通常使用一箇中間表來維護,比如中間

表中

的訂單id作爲外鍵參照訂單表的iD、商品i作爲外鍵參賂商品表的i

參考答案:

 

23、在關係型數據庫中,一對多就是在",添加方的主鍵

作爲外鍵()

參考答案:

 

24.Java對象中,多對多的關係是在A類中定義B類類型的集合,B類中

定義A類類型的集合()

參考答案:

 

25 My Batis是誦過< resultMap>元素的< association>子元素該元素來處理

對一關聯關係的()

參考答案:

 

26 My Batis映射文件中< association>元素的屬性 select用於指定引入嵌鶱

查詢的子sαL語句,該屬性用於關聯映射中的嵌套查詢()

參考答案:

 

27 My Batis在映射文件中加載關聯關係對象主要通過兩種方式:嵌套查詢

和嵌套結果()

參考答案:

 

28 My Batis默認沒有開啓延遲加載,需要在覈心配置文件中的< settings>

素內進行配置

參考答案:

 

29 My Batis< collection>元素的屬性與< association>元素相同,且使用也

很簡單,同樣有嵌套查詢和嵌套結果兩種關聯方式()

參考答案:

 

30、當表中的列名與對應對象的厲性名稱完全一致時,在查詢映射文件中可

以不使用 resultMap屬性。

參考答案:

 

、進行 My Batis Spring的整合配置文件編寫時,不包括有()

Adb. properties

B applicationContext. xm

C mybatis- config. xml

D. springmvc-config xml

參考答案:D

 

2 MapperFactory Bean My Batis- Spring團隊提供的用於根據 Mapper接口生成 Mapper對象的

,該類在 Spring配置文件中可以配置的參數不包括()

A mapperInterface

B SqIsession Factory

ooo

C. Sqlsession Template

D base Package

參考答案:D

 

3 Mapperscannerconfigure類在 Spring配置文件中使用時可以配置的屬性及說明錯誤的是()

A base Package:指定映射接口文件所在的包路徑,當需要掃描多個包時可以使用分號或逗號作爲分隔符

B annotation class:指定了要掃描的註解名稱,只有被註解標識的類纔會被配置爲映射器

C sqlsession Factory Bean Name:指定在 Spring中定義的 SqIsessionFactorylBean名稱

D sqISession Template BeanName:指定在 Spring中定義的 SqlsessionTemplateBean名稱。如果定義比屬性, sqISessionF

actory BeanName將起作用

參考答案:D

 

4、以下不屬於 Mapperscannerconfigurer類在 Spring配置文件中使用時可以配置的屬性的是()

A basePackage

B annotations|ass

G sqlsession Name

D mapperInterface

參考答案:D

 

5、以下有關採用傳統DA開發方式進行 My Batis Spring框架的整合的說法錯誤的是()

A、採用傳統DAO開發方式進行 My Batis Spring框架的整合時,只需要編寫DA接口

B、採用傳統DAO開發方式進行 MyBatisspng框架的整合時,需要向DAO實現類中注入 sqIsession Factory,然後在方法體內

通過 Sqlsession Factory創建 sqlsession

C、可以使用 mybatis- spring包中所提供的 SqIsession Template類或 Sqlsession Dao Suppor類來實現在類中注入 Sqlsession Factor

D SqIsessionDaoSupport,是一個抽象支持類,它繼承了 DaoSupport,主要是作爲DAO的基類來使用。可以通過 SqIsessionD

suPport類的 getsqIsession(方法來獲取所需的 Sqlsession

參考答案:A

 

6、在 My Batis+ Spring的項目中,以下有關事務的相關說法正確的是()

A、在 MyBatis+ Spring的項目中,事務是由 MyBatis來管理的

B、在項目中,數據訪問層既是處理業務的地方,又是管理數據庫事努的地方

C、進行註解開發時,需要在配置文件中配置事務管理器並開啓事務註解

D、進行註解開發時,需要使用@ Transactional註解來標識表現層中的類

參考答案:c

 

7、以下哪些屬於 Mapperscannerconfigure類在 Springi配置文件中使用時可以配置的屬性()

A basePackage

B annotationclass

C. sqISession Factory BeanName

D mapperInterface

參考答案:ABc

 

8、在 My Batis+ Spring的項目中,以下有關事務的相關說法正確的是()

A. MyBatis+ Spring的項目中,事務是由 Spring來管理的

B、在項目中,業務層( Service)既是處理業務的地方,又是管理數據庫事務的地方

、進行註解開發時,需要在配置文件中配置事務管理器並開啓事務註解

D、進行註解開發時,需要使用@ Transactiona註解來標識事務處理的類

參考答案:ABCD

 

9、進行 My Batis Spring整合時, Spring的配置文件主要配置內容包括有()

A My Batis工廠配置

B、數據源配置

C、事務管理器配置

D、讀取 MyBatis核心配置文件的配置

參考答案:ABCD

 

10 MapperFactory Bean My Batis-Springl團隊提供的一個用於根據 iMapper接口生成 Mapper對象

的類,該類在 Spring配置文件中可配置的參數說明錯誤的是()

A mapperInterface:用於指定接口

B Sqlsession Factory:用於指定 SqlsessionFactory

C sqIsession Template:用於指定 sqIsession Template。如果與 sqIsession Factory同時設定,則只會啓用 SqISession Templat

D、以上都正確

參考答案:ABCD

 

11、要實現 MyBatis Spring的整合,所需要的JAR包包括有以下()

A Spring框架的相關JAR

B My Batis框架相關JAR

C Spring MyBatis整合JAR

D、數據庫驅動包

參考答案:ABCD

 

12、以下有關採用傳統DAO開發方式進行 My Batis Spring框架的整合的說法正確的是()

A、採用傳統DA開發方式進行 My Batis Spring框架的整合時,需要編寫DA接口以及接口的實現類

B、採用傳統DA開發方式進行 My Batis.spng框架的整合時,需要向DAO實現類中注入 SqIsession Factory,然後在方法體內

誦過 SqlsessionFactory.創建 Sqlsession

C、可以使用 mybatis-spring包中所提供的 SqIsession Template類或 Sqlsession Support類來實現在類中注入 sqlsession Factor

D Sqlsession Dao Support是一個抽象支持類,它繼承了 DaoSupport,主要是作爲DA的基類來使用。可以通過 SqlsessionD

Support類的 getsqlsession(方法來獲取所需的 SqISession

參考答案:ABCD

 

13、單獨進行 My Batis Spring整合時,主要需要編寫的配置文件有()

A Spring配置文件 applicationcontext. xm

B MyBaits配置文件 mybatis-config. xml

C、日誌文件og4 properties

D、前端Web加載配置文件web.xm

參考答案:ABC

 

14、在實際的項目開發中, Spring My Batis都是整合在一起使用的()

參考答案:

 

15 My Batis- Spring團隊提供了一種自動掃描的的類 MapperScannerconfigurer來配置 My Batis

的映射器以解決使用 MapperFactory Bean時可能導致的 Spring配置文件臃腫冋題()

參考答案:

 

16 MapperFactory Bean的參數 SqIsessionTemplate用於指定 SqIsession Template。如果與sqs

ess| olFactory同時設定,則只會啓用 SqIsession Factory()

參考答案:

 

17、使用 Mapper接口動態代理開發方式時,如果完全遵循了編寫規範,那麼在 My Batis的核心配

置文件中可以不引入映射文件()

參考答案:

 

18 SqIsession Template mybatis- spring的核心類,它負責管理 MyBatis sqlsession,調用My

BatissαL方法。當調用sQL方法時, SqIsession Template將會保證使用的 Sqlsession和當

 Spring的事務是相關的。()

參考答案:

 

19、在實現 My Batis Spring的整合時,需要編寫的配置文件一般有db. properties文件、 Spring

配置文件,以及 My Batis的配置文件。()

參考答案:

 

20、可以使用 mybatis- spring包中所提供的 Sqlsession Template類或 Sqlsession Da Support類來

實現向DA實現類中注入 SqlSession Factory()

參考答案:

 

21、通常情況下, Mapperscannerconfigurer在使用時只需通過 basePackage屬性指定需要掃描

的包即可, Spring會自動的通過包中的接口來生成映射器()

參考答案:

 

22db. properties配置文件主要用於配置數據源的常量信息配置。()

 

參考答案:

 

23、在項目中,業努層〔 Service)既是處理業務的地方,又是管理數據庫事努的地方()

參考答案:

 

24、採用傳統DA開發方式進行 My Batis Spring框架的整合時,需雯編寫DA接口以及接口的

實現類,並且需要向DA實現類中注入 Sqlsession Factory,然後在方法體內通過 Sqlsession

Factory創建 Sqlsession()

參考答案:

 

25、在 My Batis+ Spring的項目中,事務是由 My Batis來管理的()

參考答案:

 

26、在實現 My Batis Spring的整合時,涉及到數據庫訪問,還要根據具體的數據庫類型選擇對應

的數據庫驅動JAR包。()

參考答案:

 

27 Sqlsession DaoSupport個抽象支持類,它繼承了 Dao Support,主要是作爲DA的基

類來使用

參考答案:

 

28、要實現 My Batis Spring的整合,只需要將這兩個框架的JAR包進行整合即可。()

參考答案:

 

29 MapperFactory Bean My Batis-Spring團隊提供的個用於根據 Mapper接口生成 Mapper對象

的類()

參考答案:

 

30 My Baits Spring進行整合時,Dao層開發可以使用傳統的DA方式的開發整合,以及 Mappe

r接口方式的開發整合()

參考答案:

 

1、入門程序中,不是必須引入的JAR包是()

A Spring4個核心AR

B commons-loggingJAR

C spring-web spring-webmvcJAR

Dlog4JAR

參考答案:D

 

2、下面關於 Spring MVO特點說法錯誤的是()

A、靈活性強,但不易於與其他框架集成

B、可自動綁定用戶輸入,並能正確的轉換數據類型

C、支持國際化

D、使用基於XML的配置文件,在編輯後,不需要重新編譯應用程序

參考答案:A

 

3、用戶通過瀏覽器向服努器發送請求時,負責攔截用戶請求的是()

A、處理器

B、處理器映射器

C、處理囂適配器

D、前端控制器

參考答案:D

 

4 Spring MVC Spring提供的個實現了()設計模式的輕量級Ⅶeb框架

A Web Mvc

BWeb

C、單例

工廠

參考答案:A

 

5 Spring MVO中的後端控制器是指()

A HandlerAdapter

B Dispatcher servlet

C ViewReslover

D Handler

參考答案:D

 

6、在 Spring MVo的配置文件中,屬於可選配置的是()

A、處理器映射器

B、處理器適配器

C、視圖解析器

D、處理器

參考答案:ABC

 

7、下面關於 Spring MVc特點說法正確的是()

A、靈活性強,易於與其他框架集成

B、提供了一個前端控制器 Dispatcherservlet,使開發人員無需額外開發控制器對象

C、支持國際化

D、支持多種視圖技術

參考答案:ABCD

 

8<load-on- startup>元素中的1表示容器在啓動時立即加載這個 Servlet

參考答案:

 

9 Spring4.3版本的配置文件中,必須要配置處理器映射器、處理器適配器和視圖解析器,否則

程序將無注運行。

參考答案:

 

10 Spring MVc的靈活性比較弱,易於與其他框架集成。

參考答案:

 

11 HandlerAdapter ModelAndview對象返回給 ewReslover

參考答案:

 

12、在< servlet- mapping>,通過<ur- pattern>元素的",會將所有URL攔截,並交由 Dispatche

servlet處理

參考答案:

 

13 Spring MVC支持JsP Velocity×ML Free Marker等視圖技術。

參考答案:

 

 

 

1、下面關於<load-on- startup>元素說法錯誤的是()

A、如果<oad- on-startup>元素的值爲1,則在應用程序啓動時會立即加載該 Servlet

OB、如果< oad-on-startup>元素不存在,則應用程序會在第個see請求時加載該 Servlet

C、如果< ad-on-startup>元素的值爲1,則在應用程序啓動時會延遲加載該 Servlet

D< load-on-startup>元素是可選的

參考答案:C

 

2、下面選項中,能夠正確訪問下面代碼中方法是()

@Controller

@RequestMapping("/first")

public class Firstcontrollert

@RequestMapping ("/first")

publicStringhandlerequest(httpservletrequestrequest

Http Servletresponse response Model model throws Exception

model. addAttributer("msg","這是我的第一個 Spring MVC

");

return "first

Ahttp:/ocalhost:8080/chapter12/hello/firstcontroller

B.http://ocalhost:8080/chapter12/first/firstcontroller

oC.http://localhost:8080/chapter12/first/first

Dhtp:/ localhost8o8o/ chapter12 hello/first

參考答案:C

 

3 RequestMapping註解類型的作用是()

A、用於映射一個請求或一個方法

B、用於映射一個控制器類

C、用於映射請求參數

D、用於映射請求類型

參考答案:A

 

4、下面關於@ RequestMapping註解說法錯誤的是()

A@ 2RequestMapping註解的默認屬性是vaue

B@ RequestMapping註解的vaue屬性值可以省略

C@ RequestMapping註解的vaμue屬性名可以省略

D@ RequestMapping註解的vaue屬性必須標註

參考答案:D

 

5、下面關於組合註解的說法正確的是()

A、組合註解是Spng3x版本中的新特性

B、組合註解可以簡化常用的HTTP方法的映射

C、在所有的 Spring項目中,使用組合註解可以替代@ RequestMapping註解

D@ GetMapping註解可以用來匹配GETPsT方式的請求

參考答案:B

 

6、下面關於請求處理方法返回類型說法錯誤的是()

A、常見的返回類型是 Modelandview Stringvid

B Modelandview類型中可以添加Mode數據,並指定視圖

C String類型的返回值可以跳轉視圖,但不能攜帶數據

Dvoi類型主要在異步請求時使用,它既返回數據,又跳轉視圖

參考答案:D

 

7、以下有關 Spring MVC支持的返回值類型及說法錯誤的是()

 A. ModelAnd View)回值類型中可以添加Mode數據,並指定視圖

B String返回值類型也可以攜帶數據並跳轉視圖;

Cvoii回類型主要在異步請求時使用,它只返回數據,而不會跳轉視圖

D String類型除了可以返回視圖頁面外,還可以進行重定向與請求轉發

參考答案:B

 

8、下面類型中,不屬於請求處理方法參數類型的是()

A,javax.servlethttpHttpsession

B@ MatrixVariable

C. org. springframework ui Model

D. void

參考答案:D

 

9、註解@ RequestMapping可以可以標註在()

A、一個類上

√B、一個方法上

C、一個屬性上

D、以上都可以

參考答案:A,B

 

10、以下哪些屬於@ RequestMapping註解的屬性()

 A. name

B. value

C method

D params

參考答案:A,B,C,D

 

11、在使用 Spring MVO框架時, web. xm配置文件中可以配置有()

A、前端過濾器 Dispatcher Servlet

√B、初始化時加載配置文件 contextconfigLocation

C、程序啓動時加載該 Servlet<oad- on-startup>

D、請求路徑映射< servlet-mapping>

參考答案:A,B,C,D

 

12、以下哪些屬於 Spring MVc所支持的方法返回類型有()

√A ModelAndview

√B ResponseEntity<?>

C String

D. void

參考答案:A,B,C,D

 

13、註解@ RequestMappingl method屬性是可選的,不寫的話,默認支持

所有HTTP請求方法。

參考答案:

 

14 Web. xm文件中必須使用<ad-on- startup>元素和< init-paran>元素,

否則文件會報錯。

參考答案:

 

15@ RequestMapping註解只能標註在一個方法上

參考答案:

 

16、爲了簡化HTTP方法的映射,可以將之前的項目請求映射都修改爲組合

註解映射。

參考答案:

 

17、如果沒有通過< init-param>元素配置,則應用程序會默認去WEB-NF

錄下尋找 servletName-servlet xm

參考答案:

 

18、在控制器類中,每一個請求處理方法只能有一個類型的參數

參考答案:

 

19、返回 String類型數據時,可以實現請求轉發和重定向。

參考答案:

 

20 controlle註解類型的註解形式爲@ Controller,它可以標註在任何類上

參考答案:

 

21、當註解@ RequestMapping value是其唯一屬性時,可以省略屬性名。

參考答案:

 

22 Spring MVc支持的 String類型的返回值可以攜帶數據並跳轉視圖。

參考答案:

 

23@ RequestMapping( method= RequestMethod.GET)可以縮寫爲@Get

Mapping o

參考答案:

 

24、當@ RequestMapping標註在類上時,該控制器所處理的所有請求都被

映射到vaue屬性值所指定的路徑下。

參考答案:

 

25、在控制器類中,每一個請求處理方法都可以有多個不同類型的參數,

及一個多種類型的返回結果。

參考答案:

 

26、註解@ Controller可以添加在控制器類或方法上。

參考答案:

 

下面不屬於 Spring MVC中常用的默認參數類型的是()

A HttpservletreQuest

B HttpservletreSponse

C Http session

D Modelview

參考答案:D

 

3、下面關於 Spring MVc數據綁定流程說法錯誤的是()

A Spring MVc ServletRequest對象傳遞給 Data Binder

B Spring會將處理方法的入參對象傳遞給 DataBinder

C Data Binden調用 Binding Results組件進行數據類型轉換、數據格式化等工作

D、調用 Validator組件對已經綁定了請求消息數據的參數對象進行數據合法性校驗

參考答案:C

 

4、下面選項中,哪一個是 Spring的編碼過濾器類()

A org. springframework web filter. EncodingFilter

B, org. springframework web filter. CharacterEncoding Filter

C, org. springframework web filter. CharacterEncoding

D, org. springframework web filter. CharacterFilter

參考答案:B

 

5、以下有關 Spring Mv℃常用的默認參數類型及說法錯誤的是()

 A. Httpservletrequest通過 trequest劃對象獲取請求信息

B Http Servletresponse通過 response處理響應信息

C Http session通過 session對象得到 Session中存放的對象

D Model/ModelMap:Moe ModelMap是一個接口,作用是將mode數據填充到 equest

參考答案:D

 

6@ RequestParam註解中可以省略屬性名稱的是()

A defaultvalue

B value

Cname

required

參考答案:B

 

7、下面不屬於@ RequestParan註解類型屬性的是()

Aid

B. value

ooo

Cname

D required

參考答案:A

 

8、下面關於包裝PoJo類型數據綁定的說法正確的是()

A、如果查詢條件參數是包裝類的直接基本屬性,則參數名直接用對應的屬性名

B、如果查詢條件參數是包裝類的直接基本屬性,則參數名必須使用對應的對象屬性名

C、如果查詢條件參數是包裝類中POo的子屬性,則參數名必須爲屬性名

D、如果查詢條件參數是包裝類中POJO的子屬性,則參數名必須爲對象子屬性屬性值的形式

參考答案:A

 

9、下面幾種類型中,屬於 Spring Mvc可以綁定的簡單數據類型的是()

Aint

Bstng

C. Double

D Array

參考答案:A,B,C

 

10 required用於指定參數是否必須,默認是 false,表示請求中一定要有相

應的參數。

參考答案:

 

11、要使用集合數據綁定,需要在包裝類中定義一個包含用戶信息類的集合

,然後在接收方法中將參數類型定義爲該包裝類的集合。

參考答案:

 

12 Formatter Converte的作用相同,只是 Formatter0源類型可以是任意

類型, Converter必須是一個 String類型

參考答案:

 

13、在執行綁定數組操作中,前臺頁面中複選框中傳遞的ηame屬性值必須

相同。

參考答案:

 

14、在使用POJo類型數據綁定時,前端請求的參數名必須與要綁定的POJ

O類中的屬性名一樣。

參考答案:

 

15、綁定數組與綁定集合頁面傳遞的參數相同,只是後臺接收方法的參數不

同。

參考答案:

 

16、自定義 Converte類需要實現org. springframework core convertconvert

er. converter接口

參考答案:

 

17、當前端請求的參數比較簡單時,可以在後臺方法的形參中直接使用Spr

ng MVO提供的默認參數類型進行數據綁定。

參考答案:

 

18@ RequestParam註解類型主要用於對請求中的參數進行定義。

參考答案:

 

19、自定義類型轉換器的配置中,Bean的類名稱必須爲org. springframework

kcontext support Conversion Service Factory Bean

參考答案:

 

20 Spring MVo會將 BindingResu對象中的內容賦給處理方法的相應參數

參考答案:

 

20 RESTfu也稱之爲REST,是英文“ Representational State Transfer"的簡

參考答案:

 

2.下面選項中不屬於 Jackson的開源包的冖)

A jackson- annotations-288ar

B. jackson-core-2.8. 8. jar

C jackson- databind-2.88jar

D jackson-data-2.8.8jar

參考答案:D

 

2、下面選項中不屬於 Jackson的開源包的是()

A. jackson-annoations-2.8.8. jar

B jackson-core-2.8.8ar

C jackson- databind-288ar

D jackson-data-2.8.8ar

參考答案:D

 

3、針對GET方式 RESTfu風格的請求htt:/ localhost:8080/ chapter14/user/

1,後臺方法接收參數的路徑映射寫法可行的是()

O A. @RequestMapping("/user/idy",method=RequestMethod GET

B, @RequestMapping(value="/user ids")

C@ GetMapping (value="/user/ds.")

O D. GetMapping(value=""user/(id", method=RequestMethod GET

參考答案:C

 

5、下面屬於 RESTfu風格請求的是()

Ahtt1./ queryltems?id=

B.http://...queryltems?id=1&name=zhangsan

C.http://.../items/1

D.http/queryitems/1

參考答案:C

 

6、使用@ RequestMapping註解限定PosT請求方法時,需要指定()

A method= RequestMethod. PsT

Db.method=httpmethod.post

C method=POsT

D method= Method. POST

參考答案:A

 

7、下面不屬於AJAx中的屬性的是()

AdatA

B contentType

C dataType

D database

參考答案:D

 

8JsoN使用了哪些語言的約定()

AC++

BPerl

CJavA

DGo

參考答案:A,B,c,D

 

9、使用JsoN可以傳輸的數據類型有()

A String

BBoo|ean

C、數組

D Object對象

參考答案:A,B,c,D

 

11

oN對象和XML文檔,不能將JsON對象和XML文檔轉換爲JavA

Mapping Jackson2 Httpmessage Converter類只能將Java對象轉換爲Js

參考答案:

 

12@ RequestBody用於將請求體中的數據綁定到方法的形參中,使用時用

在方法的形參上。

參考答案:

 

13JsN的對象和數組兩種數據結構可以分別組合構成更爲複雜的數據結

構。

參考答案:

 

14RESTfu風格在HTTP請求中,使用putdeletepostget方式分別對

應添加、刪除、修改和查詢的操作。

參考答案:

 

15<mvc: resources../元素中, mapping厲性用於匹配靜態資源全路徑,

其中“*”表示文件夾及其子文件夾下的某個具體文件。

參考答案:

 

16JsoN是理想的數據交互語言,它易於鬩讀和編寫,同時也易於機器解

析和生成

參考答案:

 

17、使用<mvc: default- servlet- handler>標籤可以實現對靜態資源的訪問

參考答案:

 

18 RESTfu也稱之爲REST,是一種軟件架構標準。

參考答案:

 

19ⅩML相對於JsN來說,解析速度更快,佔用空間更小

參考答案:

 

1、以下有關 Spring MVc中自定義攔截器的方法說法錯誤的是()

A、自定義的攔截器可實現 HandlerInterceptor接口來實現

B preHandler(方法會在控制器方法前執行,其返回值表示是否中斷後續操作

C postHandle(方法會在控制器方法和解析視圖之前執行

D aftercompletion(方法:該方法會在整個請求完成,即視圖渲染結束之後執行

參考答案:C

 

2、以下有關 Spring MvC配置文件中攔截器的配置說法錯誤的是()

A、要使用 Spring MVC中攔截器,要先自定義攔截器還需要在配置文件中進行配置

B< mvc: interceptors元素用於配置一組攔截器,其子元素<bean>中定義的是指定路徑的攔截器

C< mvc: interceptors>元素中可以同時配置多個< mvc: interceptor>子元素

D< mvc: exclude- mapping>元素用於配置不需要攔截的路徑請求

參考答案:

 

3、下列關於攔截器的執行流程說法錯誤的是()

A、程序首先會執行攔截器類中的 rehAndle(方法

B、如果 rehAndle(O方法的返回值爲true,則程序會繼續向下執行處理器中的方法,否則將不再向下執行

C、在業務處理器(即控制器 Controlle)處理完請求後,會執行 rehAndle(方法

D、在 Dispatcher servlet處理完請求後,纔會執行 aftercompletion(方法

參考答案:C

 

4、以下哪個方法可以定義 Spring MVo中的攔截器()

A、繼承 HandlerInterceptor

B、實現 Web RequestInterceptor

C、實現 HandlerInterceptorAdapter

D、繼承 WebRequestInterceptor

參考答案:B

 

5、關於用戶權限驗證的執行流程,說法錯誤的是()

A、只有登錄後的用戶才能訪問系統中的主頁面

B、如果沒有登錄系統而直接訪問主頁面,則攔截器會將請求攔截,並轉發到登錄頁面

C、如果用戶名或密碼錯誤,會在登錄頁面給出相應的提示信息

D、當已登錄的用戶在系統主頁中單擊退出鏈接時,系統會回到主頁面

參考答案:D

 

6、下面不屬於攔截器類中的方法的是()

A preHandler(

B postHandleo

C aftercompletiono

D afterpletion(

參考答案:D

 

7、以下哪些方法可以定義 Spring Mvo中的攔截器()

A、實現 HandlerInterceptor接口

B、實現 WebRequestInterceptor接口

C、繼承 HandlerInterceptorAdapter

D、繼承 WebRequestInterceptor

參考答案:A,B,C

 

8、以下哪些屬於< mvc: interceptors>元素的子元素()

A<mvc: interceptor.

<bean>

C<ref>

D<mve: mapping

參考答案:A,B,C

 

9、以下有關實現用戶登錄權限驗證的說法錯誤的是()

A、用戶登錄時,需要對用戶名或密碼使用攔截器驗證

Bjsp頁面進行用戶登錄使用P方法進行請求

C、可以通過 request. getRequestUR(方法獲取請求的UR

D、用戶登錄成功後直接放行即可

參考答案:A,D

 

10、通過 Spring Mvc中的攔截器可以實現以下哪些功能()

A、進行權限驗證

B、記錄請求信忘的曰志

C、判斷用戶是否登錄

D、資源清理

參考答案:A,B,C,D

 

11、以下有關多個攔截器的執行流程說法正確的是()

A、有多個攔截器時,攔截器的執行順序與配置文件中所定義的攔截器的順序相關

B、有多個攔截器時, postHandle(方法會按照配置文件中攔截器的配置順序執行

C、有多個攔截器時, rehAndle(方法和 aftercompletion(方法則會按照配置順序的反序執行

D、不管配置順序如何,攔截器的 aftercompletion(方法總是最後執行

參考答案:A,D

 

12、在同一個<mvc: interceptor>元素下可以使用多個<bean>來配置多個攔

截器類。

參考答案:

 

13、全局攔截器和指定路徑下的攔截器不能夠同時配置,否則運行時會報

錯。

參考答案:

 

14、當攔截器類中的 pre Handle(方法返回值爲 false,則程序會繼續向下執

參考答案:

 

15、多個攔截器時, postHandle(方法和 aftercompletion(方法則會按照配

置順序執行。

參考笞案:

 

16、攔截器類中的 pre Handler(方法會在控制器方法前執行。

參考答案:

 

17≤ mvc: interceptor>中的子元素可以按照任意位置編寫。

參考答案:

 

18、在執行完攔截器 postHandle(方法後就會在業務處理器中進行請求處

參考答案:

 

19、在 Spring Mvc配置文件中,可以指定多個≤mvc: interceptors>元素用於

配置攔截器。

參考答案:

 

20、在實現用戶登錄頁面,可以使用GET方式提交登錄請求

參考答案:

 

21、配置攔截器時,必須將path的屬性值設置爲/*

參考答案:

 

1、下列關於ssM框架的整合說法錯誤的是()

A Spring MVC Spring之間不存在整合的問題

BssM框架的整合就涉及到 Spring My Batis的整合t

CssM框架的整合就涉及到 Spring MVc My Batis的整合

DssM框架的整合就涉及到 Spring MVc Spring之間的整合

參考答案:D

 

2、下面屬於c mmonsMultipartResolver屬性的是()

A getcontent Type

B getInputstrean

G isEmpty

D defaultEncoding

參考答案:D

 

3、下列選項中,屬於 Spring MVo所必須的JAR包的是()

A spring-web-4.3.6. RELEASE,jar

B spring-webmvc- portlet-4.3.6 RELEASE. jar

C spring-webmvc-4.3.6 RELEASE-javadoc jar

D. spring-websocket-4.3.6. RELEASE.jar

參考答案:A

 

4、下面不屬於文件解析器類c mmonsMultipartResolver屬性的是()

A maxUpload Size

B maxInMemory Size

C defaultEncoding

Dlazy

參考答案:D

 

5、以下有關 CommonsMultipartResolver類的屬性及說法錯誤的是()

A maxUploadsize:上傳文件最大長度(以字節爲單位)

B maxInMemory size:綴存中的最大尺寸

C defaultEncoding:默認編碼格式,默認爲ut-8

D resolveLazily:推遲文件解析

參考答案:C

 

6、下面關於文件下載方法內容描述錯誤的是()

A、響應頭信息中的 MediaType代表的是 sterner Media Type(即互聯網媒體類型),也叫做MME類型

B MediaType APPLICAT| N OCTET STREAM的值爲 application/octet-stream,即表示以二進制流的形式下載數據

C Http status類型代表的是Htpt議中的狀態

D Http status.OK表示500,即服務器已成功處理了請求

參考答案:D

 

7、下面關於 MultipartFile接口中說法錯誤的是()

A getoriginalFilename(用於獲取上傳文件的初始化名

B getsize)用於獲取上傳文件的大小,單位是KB

C getInput strean(用於讀取文件內容,返回一個 nputstrean

D transferTo(Feme)用於將上傳文件保存到目標目錄下

參考答案:B

 

8、下列選項中,不屬於ssM整合時所需的JAR包的是()

A spring-web-4.3.6 RELEASE. jar

B spring-webmvc-4.3.6 RELEASE.jar

Cant-1.9.6Jar

O D. xwork-core-2324 jar

參考答案:D

 

9、下面關於文件上傳表單說法錯誤的是()

Afom表單的 method屬性設置爲post

Bfom表單的 method屬性設置爲get

Cfom表單的 enctype屬性設置爲 multipart/forn-datA

D、提供< input type="e"name=" ename"/>的文件上傳輸入框

參考答案:B

 

10、進行 My Batis Spring的整合配置文件編寫時,不包括有()

Adb. properties

B applicationcontext.xml

C mybatis- config.xm

D springmvc-config.xml

參考答案:D

 

11、以下哪些屬於 MultipartIte接口中的方法()

A getcontentType

B getinputstrean(

C getoriginalFilename

D transfer To( File file)

參考答案:A,B,C,D

 

12、下列關於ssM框架的整合說法正確的是()

A Spring Mvo Spring之間不存在整合的問題

BssM框架的整合就涉及到 Spring MyBatis的整合

CssM框架的整合就涉及到 Spring MVC My Batis的整合

DssM框架的整合就涉及到 Spring MVC Spring之間的整合

參考答案:A,B,C

 

13、進行 My Batis Spring整合時, Spring的配置文件主要配置內容包括有()

A MyBatis工廠配置

B、數據源配置

C、事務管理器配置

D、讀取 My Batis核心配置文件的配置

參考答案:A,B,C,D

 

14、下面屬於文件解析器類c mmonsMultipartResolver,屬性的是()

A maxUpload size

B maxInMemory size

C defaultEncodino

D resolveLazily

參考答案:A,B,C,D

 

15、在 Spring MVo中實現文件上傳下載,還需要導入支持文件上傳下載的相關JAR()

A commons-fileupload jar

B. commons-filedownload jar

C commons-ojar

D commons-beanutils jar

參考答案:A,C

 

16、下列選項中,屬於ssM整合時所需的JAR包的是()

A. spring-web-4.3.6. RELEASE. jar

B. spring-webmvc-4.3.6.RELEASE. jar

Cant-1.9.6Jar

D. xwork-core-2.3.24.jar

參考答案:A,B,C

 

17、在實現文件上傳案例中, Spring MVo配置文件主要配置內容有()

A、組件掃描器

B、註解驅動

C、視圖解析器

D、文件上傳解析器

參考答案:A,B,C,D

 

18、在實現中文名文件下載時,以下說法正確的是()

A、要在前端頁面發送請求前先對中文名進行統一編碼,然後在後臺控制器類中對文件名稱進行相應的轉碼

B、在sp頁面可以使用 URLEncoder類中的 encoder( String s, String enc)方法將中文轉碼

C、在sp西面進行轉碼時,可以直接引l encoder( String s, String enc)

D、後臺控制器類中可以將文件名統ut-8編碼

參考答案:A,B

 

19、下面關於文件下載方法內容描述正確的是()

A、響應頭信息中的 MediaType代表的是 Interner Media Type(即互聯網媒體類型),也叫做MME類型

B MediaType APPLICAT| ON OCTET STREAN的值爲 application/octet- stream,即表示以一進制流的形式下載數據

C Httpstatus類型代表的是Http協議中的狀態

D Http status.oK表示500,即服務器已成功處理了請求

參考答案:A,B,C

 

20、單獨進行 My Batis Spring整合時,主要需要編寫的配置文件有()

A Spring配置文件 applicationcontext.xm

B My Baits配置文件 mybatis- config.xm

C、日誌文件og4 properties

D、前端Web加載配置文件web.xm

參考答案:A,B,C

 

21、舊E系列瀏器的請求代理User- Agent中的關鍵字有()

AMsE

B Trident

CEdge

D MozillA

參考答案:A,B,C

 

22、下列選項中,不是 Spring MVo所必須的JAR包的是()

A. spring-web-4.3.6.RELEASE. jar

B. spring-webmvc-portlet-4.3.6.RELEASE. jar

C. spring-webmvc-4.3.6. RELEASE-javadoc jar

D. spring-websocket-4.3.6.RELEASE. jar

參考答案:B,c,D

 

23、在進行文件下載時,必須向I目錄加入commns- lledownload jar

參考答案:

 

24、通過 maxUploadsize屬性可以對上傳文件緩存中的最大尺寸進行設置

參考答案:

 

25、上傳的文件,可以在項目目錄中找到。

參考答案:

 

26 Spring Spring MVc, Spring MV My Batis需要相互整合。

參考答案:

 

27 db properties配置文件主要用於配置數據源的常量信息配置。()

參考答案:

 

28@ Autowired註解需要標註在 Service層的實現類上,這樣才能實現依賴注入,

參考答案:

 

29ransactiona註解主要是針對數據的增加、修改、刪除和查詢進行事務管理。

參考答案:

 

30、查詢操作也會被程序納入事務管理範圍。

參考答案:

 

31、在進行文件上傳時,通常可以使用GET方式進行。

參考答案:

 

32 Spring MVo的文件上傳是通過 MultipartResolver對象實現的對寸

參考答案:

 

33、上傳文件時,必須要保證所上傳的文件不重名,爲此可以通過UUD等方式對上傳的文件名稱進行重命名。

 

參考答案:

 

34、在後臺處理中文名文件下載時,要將谷歌瀏覽器與其他瀏器區分對待,使用不用的格式轉碼。

參考答案:

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

  1. Spring的基本應用

習題

  • 填空題
  1. 依賴注入的作用就是在使用Spring框架創建對象時,動態的將其所依賴的對象注入到【 Bean 】組件中。
  2. 在使用Spring框架之後,對象的實例不再由調用者來創建,而是由【  spring容器  】來創建,Spring容器會負責控制程序之間的關係,而不是由調用者的程序代碼直接控制。
  3. 在Spring入門程序中只需將Spring的4個基礎包以及【  commons-logging    】的JAR包複製到lib目錄中,併發布到類路徑下即可。
  1. 簡單來說,BeanFactory就是一個管理Bean的工廠,它主要負責初始化各種Bean,並調用它們的【  生命週期    】方法。
  1. Spring開發所需的JAR包分爲兩個部分:【spring框架包】和【 第三方依賴包】。
  • 判斷題
  1. Spring中基於構造方法的依賴注入通過調用帶參數的構造方法來實現,每個參數代表着一個依賴。(  
  2. 通常在Java項目中,會採用通過FileSystemXmlApplicationContext類來實例化ApplicationContext容器的方式。(
  3. 初學者學習Spring框架時,只需將Spring的4個基礎包以及commons-logging.jar複製到項目的lib目錄,併發布到類路徑中即可。( )
  4. 依賴注入的作用就是在使用Spring框架創建對象時,動態的將其所依賴的對象注入到Bean組件中。(  )
  5. Spring框架採用的是分層架構,它一系列的功能要素被分成20個模塊。(  )
  • 選擇題
  1. 以下關於Spring核心容器相關說法錯誤的是(  )

A: Spring框架的所有功能都是通過其核心容器來實現的

B: 創建BeanFactory實例時,需要提供Spring所管理容器的詳細配置信息,這些信息通常採用XML文件形式來管理

C: ApplicationContext不僅包含了BeanFactory的所有功能,還添加了對國際化、資源訪問、事件傳播等方面的支持

D: 通常在Java項目中,會採用通過ClassPathXmlApplicationContext類來實例化ApplicationContext容器的方式,而在Web項目中,ApplicationContext容器的實例化工作會交由Web服務器來完成

  1. 以下有關Spring的四個基礎包說法正確的是(  )

A: Spring的四個基礎包,它們分別對應Spring Web容器的四個模塊

B: Spring的四個基礎包有spring-core.RELEASE.jar、spring-beans-.RELEASE.jar、spring-context-.RELEASE.jar和spring-aop-.RELEASE.jar

C: spring-context-.RELEASE.jar是所有應用都要用到的JAR包,它包含訪問配置文件以及進行IoC或者DI操作相關的所有類

D: spring-core.RELEASE.jar包含Spring框架基本的核心工具類,Spring其它組件都要用到這個包裏的類,是其它組件的基本核心

  1. 以下有關Spring框架優點的說法正確的是(  )

A: Spring具有簡單、可測試和鬆耦合等特點,從這個角度出發,Spring就是應用於任何Java應用的開發中;

B: Spring提供了對AOP的支持,它允許將一些通用任務,如安全、事務、日誌等進行集中式處理,從而提高了程序的複用性

C: Spring就是一個大工廠,可以將所有對象的創建和依賴關係的維護工作都交給Spring容器管理,杜絕了組件之間的耦合性

D: Spring增加了Java EE開發中一些API的使用難度

  1. Spring的核心容器是其他模塊建立的基礎,以下哪個不是該容器的組成模塊(  )

A: Beans模塊

B: Core模塊

C: Context模塊

D: AOP模塊

  1. 下列選項中,不屬於Spring框架優點的是(  )

A: 提供強大的、可以有效減少頁面代碼的標籤

B: 聲明式事務的支持。

C: 方便解耦、簡化開發

D: 方便集成各種優秀框架

  • 簡答題
  1. Spring依賴注入通常有哪些實現方式,列舉並分別進行說明。

Spring的實現方式通常有兩種,一種是屬性setter方法注入,另一種是構造方法注入。

屬性setter方法注入是指IoC容器使用setter方法來注入被依賴的實例。通過調用無參構造器或無參靜態工廠方法實例化Bean後,調用該Bean的setter方法,即可實現基於setter方法的依賴注入。構造方法注入是指IoC容器使用構造方法來注入被依賴的實例。基於構造方法的依賴注入通過調用帶參數的構造方法來實現,每個參數代表着一個依賴。

 

  1. Spring中的Bean

習題

  • 填空題
  1. 所謂自動裝配,就是將一個Bean自動的注入到到其他Bean的【  Property 】中。
  1. @Controller通常作用在控制層,如Spring MVC的【  Controller】,用於將控制層的類標識爲Spring中的Bean,其功能與@Component 相同。
  2. @Repository】註解用於將數據訪問層(DAO層)的類標識爲Spring中的Bean,其功能與@Component 相同。
  3. 對於【 prototype 】作用域的Bean,Spring只負責創建,當容器創建了Bean實例後,Bean的實例就交給客戶端代碼來管理,Spring容器將不再跟蹤其生命週期。
  4. 實例工廠方式採用直接創建Bean實例的方式,在配置文件中,需要實例化的Bean是通過【 factory-bean 】屬性指向配置的實例工廠,然後使用factory-method屬性確定使用工廠中的哪個方法。
  • 判斷題
  1. @Component註解用於描述Spring中的Bean,它是一個泛化的概念,僅僅表示一個組件,並且可以作用在任何層次,使用時只需將該註解標註在相應方法上即可。(  )
  2. Spring提供了3種基於XML的裝配方式:設值注入、構造注入和屬性注入。(  )
  3. 每次客戶端請求singleton作用域的Bean時,Spring容器都會創建一個新的實例,並且不會管那些被配置成singleton作用域的Bean的生命週期。(  )
  4. Spring中使用prototype定義的Bean在Spring容器中將只有一個實例,也就是說,無論有多少個Bean引用它,始終將指向同一個對象。(  )
  5. 對於prototype作用域的Bean,Spring只負責創建,當容器創建了Bean實例後,Bean的實例就交給客戶端代碼來管理,Spring容器將不再跟蹤其生命週期。(  )
  • 選擇題
  1. Spring的<bean>元素中的autowire屬性取值不包括以下(  )

A: default    B: byName    C: byType    D: byId

  1. 以下有關Bean的裝配方式說法正確的是(  )

A: Spring容器支持多種形式的Bean的裝配方式,如基於XML的裝配、基於註解(Annotation)的裝配和自動裝配(其中最常用的是基於XML的裝配);   

B: Spring提供了3種基於XML的裝配方式:設值注入、構造注入和屬性注入;  

C: 在Spring實例化Bean的過程中,Spring首先會調用Bean的默認構造方法來實例化Bean對象,然後通過反射的方式調用setter方法來注入屬性值;   

D: 設值注入要求一個Bean必須提供一個有參構造方法並且爲需要注入的屬性提供對應的setter方法。

  1. 以下哪些不屬於Spring 4.3版本中Bean的作用域(  )

A: application    B: request    C: response    D: globalSession

  1. Spring中定義了一系列的註解,以下有關其常用的註解說明錯誤的是(  )

A: @Autowired用於對Bean的屬性變量、屬性的setter方法及構造方法進行標註,配合對應的註解處理器完成Bean的自動配置工作,默認按照Bean的名稱進行裝配。   

B: @Repository用於將數據訪問層(DAO層)的類標識爲Spring中的Bean

C: @Service通常作用在業務層(Service層),用於將業務層的類標識爲Spring中的Bean

D: @Controller通常作用在控制層(如Spring MVC的Controller),用於將控制層的類標識爲Spring中的Bean

  1. 下列選項中,不屬於Spring中實例化Bean的方式的是(  )

A: 構造器實例化         B: 靜態工廠方式實例化  

C: 實例工廠方式實例化   D: 抽象方法實例化

  • 簡答題
  1. 請簡述基於XML的裝配方式中設值注入的要求。

Spring中基於XML的裝配方式中設值注入需要滿足以下兩點要求:

  1. Bean類必須提供一個默認的無參構造方法。

2、Bean類必須爲需要注入的屬性提供對應的setter方法。

  1. Spring AOP

習題

  • 填空題
  1. AspectJ框架中註解【  @Pointcut 】用於定義切入點表達式,在使用時還需定義一個包含名字和任意參數的方法簽名來表示切入點名稱。
  2. 在Spring配置文件中,<aop:aspect>子元素的pointcut-ref屬性用於指定一個已經存在的

【  切入點名稱 】。

  1. 在Spring的配置文件中,配置切面使用的是【 <aop:aspect> 】元素。
  1. 在Spring中,使用【 ProxyFactoryBean 】是創建AOP代理的基本方式。
  1. AOP術語中【  Advice    】表示AOP框架在特定的切入點執行的增強處理,即在定義好的切入點處所要執行的程序代碼。
  • 判斷題
  1. 如果在同一個連接點有多個通知需要執行,那麼在同一切面中,目標方法之前的前置通知和環繞通知的執行順序是未知的,目標方法之後的後置通知和環繞通知的執行順序也是未知的。(  )
  2. AspectJ框架中的註解@After用於定義最終final通知,不管是否異常,該通知都會執行。(  )
  3. Spring配置文件中的<beans>元素下可以包含多個<aop:config>元素,一個<aop:config>元素中又可以包含屬性和子元素,其子元素包括<aop:pointcut>、<aop:advisor>和<aop:aspect>。(  
  4. Spring中的AOP代理默認就是使用CGLIB代理的方式來實現的。(  )
  5. Spring 3.0以後,Spring AOP引入了對AspectJ的支持,並允許直接使用AspectJ進行編程,而Spring自身的AOP API也儘量與AspectJ保持一致。(
  • 選擇題
  1. 以下不屬於ProxyFactoryBean類中的常用可配置屬性的是(  )

A: target

B: proxyInterfaces

C: targetClass

D: interceptorNames

  1. 以下哪種類型不是Spring中的通知類型(  )

A: 異常通知

B: 前置通知

C: 後置通知

D: 最終通知

  1. 關於AspectJ註解的介紹,說法錯誤的是(  )

A: @Aspect用於定義一個切面                 

B: @Pointcut用於定義切入點表達式

C: @Before用於定義前置通知,相當於BeforeAdvice            

D: @After用於定義後置通知,相當於AfterReturningAdvice

  1. 以下有關CGLIB代理相關說法正確的是(  )

A: CGLIB代理的使用非常簡單,但它還有一定的侷限性——使用動態代理的對象必須實現一個或多個接口

B: 如果要對沒有實現接口的類進行代理,那麼可以使用CGLIB代理   

C: CGLIB是一個高性能開源的代碼生成包,在使用時需要另外導入CGLIB所需要的包

D: Spring中的AOP代理,可以是JDK動態代理,也可以是CGLIB代理

  1. 以下關於Spring AOP 的介紹錯誤的是(  )

A: AOP的全稱是Aspect-Oriented Programming,即面向切面編程(也稱面向方面編程)               

B: AOP採取橫向抽取機制,將分散在各個方法中的重複代碼提取出來,這種採用橫向抽取機制的方式,採用OOP思想是無法辦到的

C: 雖然AOP是一種新的編程思想,採取橫向抽取機制,是OOP的升級替代品      

D: 目前最流行的AOP框架有兩個,分別爲Spring AOP和AspectJ

  • 簡答題
  1. 請對Spring的通知類型進行簡要說明。

Spring中主要包含5種通知類型,分別是環繞通知,前置通知,後置通知,異常通知和引介通知。

環繞通知表示在目標方法執行前後實施增強,可以應用於日誌、事務管理等功能。

前置通知表示在目標方法執行前實施增強,可以應用於權限管理等功能。

後置通知表示在目標方法執行後實施增強,可以應用於關閉流、上傳文件、刪除臨時文件等功能。

異常通知表示在方法拋出異常後實施增強,可以應用於處理異常記錄日誌等功能。

引介通知表示在目標類中添加一些新的方法和屬性,可以應用於修改老版本程序(增強類)。

 

  1. Spring的數據庫開發

習題

  • 填空題
  1. JdbcTemplate類中還提供了大量的【 query() 】方法來處理各種對數據庫表的查詢操作。
  2. JdbcTemplate類中的【update() 】方法可以完成插入、更新和刪除數據的操作。
  3. @Test 】就是Junit4用來測試的註解,要測試哪個方法,只需要在相應測試的方法上添加此註解即可。
  4. JDBC連接數據庫時需要4個基本屬性,包括有【driverClassName 】、url、username和password。
  1. JdbcTemplate類的繼承關係十分簡單。它繼承自抽象類JdbcAccessor ,同時實現了JdbcOperations接口。
  • 判斷題
  1. 在使用Junit進行單一測試時,JUnit視圖窗口的進度條爲綠色表明運行結果正確;如果進度條爲紅色則表示有錯誤,並且會在窗口中顯示所報的錯誤信息。(  )
  2. 定義jdbcTemplate時,需要將dataSource注入到jdbcTemplate中。(  )
  3. JdbcOperations接口定義了在JdbcTemplate類中可以使用的操作集合,包括添加、修改、查詢和刪除等操作。(  )
  4. JdbcTemplate類中還提供了大量的query()方法來處理各種對數據庫表的查詢操作。(   )
  5. 在JdbcTemplate類中,提供了大量的更新和查詢數據庫的方法,我們就是使用的這些方法來操作數據庫的。(  )
  • 選擇題
  1. Spring JDBC模塊主要由4個包組成,其中不包括(  )

A: core(核心包)

B: dataSource(數據源包)

C: driverClass(數據庫驅動包)

D: support(支持包)

  1. JdbcTemplate的直接父類是(  )

A: JdbcAccessor

B: JdbcOperations

C: JdbcSupper

D: Object

  1. JdbcTemplate類包含在Spring JDBC模塊的哪個包中(  )

A: 核心包

B: 數據源包

C: 對象包

D: 支持包

  1. 下面關於update()方法描述錯誤的是(  )

A: update()方法可以完成插入、更新、刪除和查詢數據的操作

B: 在JdbcTemplate類中,提供了一系列的update()方法

C: update()方法執行後,會返回受影響的行數

D: update()方法返回的參數是int類型

  1. 下面描述中,關於query()方法說法錯誤的是(  )

A: List query(String sql, RowMapper rowMapper)會執行String類型參數提供的SQL語句,並通過RowMapper返回一個List類型的結果  

B: List query(String sql,  PreparedStatementSetter pss,  RowMapper rowMapper)會根據String類型參數提供的SQL語句創建PreparedStatement對象,通過RowMapper將結果返回到List中   

C: List query(String sql, Object[] args, RowMapper rowMapper)會將args參數綁定到SQL語句中,並通過RowMapper返回一個Object類型的單行記錄

D: queryForList(String sql,Object[] args, class<T> elementType)可以返回多行數據的結果,但必須是返回列表,elementType參數返回的是List元素類型

  • 簡答題
  1. 請簡述如何使用Junit對程序中的方法進行測試。

1、先創建一個普通測試方法,並在方法上添加單元測試的註解@Test;

2、添加@Test註解後,在註解處會報錯,將鼠標移動至@Test註解處,會彈出錯誤提示框,單擊提示框中的Add JUnit4 library to the build path後,Eclipse會自動將JUnit4的支持包加入到項目中;

3、在執行程序時,只需使用鼠標右鍵單擊測試方法,在彈出的快捷菜單中選擇Run As中的JUnit Test選項來運行測試方法即可。

 

  1. Spring的事務管理

習題

  • 填空題
  1. 使用基於註解方式的事務管理需要在使用事務的Spring Bean類或者Bean類的方法上添加註解【@Transactional 】。
  2. Spring的聲明式事務管理可以通過兩種方式來實現,一種是基於XML的方式,另一種是基於【Annotation 】的方式。  
  1. Spring2.0以後,提供了tx命名空間來配置事務,tx命名空間下提供了【 <tx:advice> 】元素來配置事務的通知(增強處理)。
  2. 在Spring的所有JAR包中,包含一個名爲【spring-tx.RELEASE.jar 】的JAR包,該包就是Spring提供的用於事務管理的依賴包。
  1. 聲明式事務管理:是通過【 AOP技術 】實現的事務管理。
  • 判斷題
  1. 基於XML方式的聲明式事務管理是通過在配置文件中配置事務規則的相關聲明來實現的。(  )
  2. 編程式事務管理是通過編寫代碼實現的事務管理,包括定義事務的開始、正常執行後的事務提交和異常時的事務回滾。(  )
  3. Spring的事務管理簡化了傳統的事務管理流程,並且在一定程度上減少了開發者的工作量。(  )
  4. Spring的聲明式事務管理可以通過兩種方式來實現,一種是基於XML的方式,另一種是基於Annotation的方式。(  )
  5. @Responsebody註解與@RequestMapping註解配合使用時,頁面中將可以獲取到方法的返回值。(  )
  • 選擇題
  1. 以下關於@Transactional註解可配置的參數信息及秒正確的是(  )

A: value用於指定需要使用的事務管理器,默認爲"";

B: read-only用於指定事務是否只讀,默認爲true

C: isolation用於指定事務的隔離級別,默認爲Isolation.READ_COMMITTED

D: propagation用於指定事務的傳播行爲,默認爲Propagation. SUPPORTS

  1. 以下基於XML方式的聲明式事務管理配置文件中<tx:advice>元素的子元素<tx:method>屬性描述錯誤的是(  )

A: name:該屬性爲必選屬性,它指定了與事務屬性相關的方法名

B: propagation:用於指定事務的傳播行爲,它的默認值爲SUPPORTS

C: isolation:該屬性用於指定事務的隔離級別,其默認值爲DEFAULT

D: read-only:該屬性用於指定事務是否只讀,其默認值爲false

  1. 以下有關事務管理方式相關說法錯誤的是(  )

A: Spring中的事務管理分爲兩種方式:一種是傳統的編程式事務管理,另一種是聲明式事務管理

B: 編程式事務管理:是通過AOP技術實現的事務管理,就是通過編寫代碼實現的事務管理,包括定義事務的開始、正常執行後的事務提交和異常時的事務回滾

C: 聲明式事務管理:其主要思想是將事務管理作爲一個“切面”代碼單獨編寫,然後通過AOP技術將事務管理的“切面”代碼植入到業務目標類中

D: 聲明式事務管理最大的優點在於開發者無需通過編程的方式來管理事務,只需在配置文件中進行相關的事務規則聲明,就可以將事務規則應用到業務邏輯中

  1. 以下有關Spring事務管理及核心接口說法錯誤的是(  )

A: PlatformTransactionManager接口是Spring提供的平臺事務管理器,主要用於管理事務

B: TransactionDefinition接口是事務定義(描述)的對象,該對象中定義了事務規則,並提供了獲取事務相關信息的方法

C: TransactionStatus接口是事務的狀態,它描述了某一時間點上事務的狀態信息

D: 在事務管理過程中,傳播行爲可以控制是否需要創建事務以及如何創建事務,通常情況下,對於數據的查詢、插入、更新和刪除操作,必須進行事務管理

  1. 下列選項中,哪一個不是Spring中事務管理的核心接口(  )

A: PlatformTransactionManager

B: TransactionDefinition

C: TransactionStatus

D: TransactionManager

  • 簡答題
  1. 請列舉PlatformTransactionManager接口提供了有哪些事務操作方法,並對這些方法分別進行簡單說明。

1)TransactionStatus getTransaction(TransactionDefinition definition ):用於獲取事務狀態信息。

2)void commit(TransactionStatus status):用於提交事務。

3)void rollback(TransactionStatus status):用於回滾事務。

 

  1. 初識MyBatis

習題

  • 填空題
  1. MyBatis的刪除操作在映射文件中是通過配置【 <delect> 】元素來實現的。
  2. MyBatis映射文件中<mapper>元素是配置文件的根元素,它包含一個【 namespace 】屬性,該屬性爲這個<mapper>指定了唯一的命名空間。
  3. 使用MySQL中的【 concat() 】函數進行字符串拼接,可以有效防止模糊查詢時可能出現的SQL注入問題。
  4. mybatis-config.xml作爲MyBatis的全局配置文件,配置了MyBatis的運行環境等信息,其中主要內容是獲取【 數據庫連接 
  5. Mybatis 】是當前主流的Java持久層框架之一,它與Hibernate一樣,也是一種ORM框架
  • 判斷題
  1. MyBatis映射文件中<mappers>元素是配置文件的根元素,它包含一個namespace屬性,該屬性爲這個<mapper>指定了唯一的命名空間。(  )
  2. 使用MyBatis框架非常簡單,只需在應用程序中引入MyBatis框架lib目錄中的全部JAR包以及數據庫驅動包即可進行項目運行。(  )(還有Mybatis的核心JAR包)
  3. ORM就是一種爲了解決面向對象與關係型數據庫中數據類型不匹配的技術,它通過描述Java對象與數據庫表之間的映射關係,自動將Java應用程序中的對象持久化到關係型數據庫的表中。(  )
  4. MyBatis的更新操作也需要進行事務提交。(  )
  5. 創建的映射文件中的SQL語句要以面向對象的寫法進行書寫。(  
  • 選擇題
  1. MyBatis的刪除操作有關說發錯誤的是(  )

A: MyBatis的刪除操作在映射文件中是通過配置<delete>元素來實現的

B: MyBatis的刪除操作也需要進行事務提交

C: MyBatis的刪除操作執行了SqlSession的delete()方法

D: MyBatis的刪除操作和添加操作時,也需要封裝整個實體類

  1. MyBatis的更新操作有關說發錯誤的是(  )

A: MyBatis的更新操作在映射文件中是通過配置<update>元素來實現的         

B: MyBatis的更新操作也需要進行事務提交

C: MyBatis的更新操作執行了SqlSession的update()方法         

D: MyBatis的更新操作和添加操作時,只需要將insert()方法改爲updat()方法即可

  1. 關於MyBatis模糊查詢中進行SQL字符串拼接時,說法錯誤的是(  )

A: 使用“${}”進行SQL字符串拼接時,無法防止SQL注入問題

B: 可以使用MySQL中的concat()函數進行字符串拼接

C: 使用MySQL中的concat()函數進行字符串拼接,也無法防止SQL注入

D: 使用MySQL中的concat()函數進行字符串拼接,導致數據庫移植性變差

  1. 有關MyBatis工作原理說法錯誤的是(  )

A: MyBatis的全局配置文件配置了MyBatis的運行環境等信息,其中主要內容是獲取數據庫連接

B: MyBatis映射文件中配置了操作數據庫的SQL語句,需要在MyBatis的全局配置文件中加載才能執行

C: 可以通過MyBatis的環境等配置信息構建會話對象SqlSession

D: SqlSession對象,該對象中包含了執行SQL的所有方法

  1. 使用ORM框架後,應用程序不再直接訪問底層數據庫,而是以()的方式來操作持久化對象(PO,即Persisent Object)(  )

A: 面向業務B: Hibernate  C: 面向對象   D: MyBatis

  • 簡答題
  1. 請簡述Hibernate和MyBatis這兩個框架的主要區別。

Hibernate是一個全表映射的框架。通常開發者只需定義好持久化對象到數據庫表的映射關係,就可以通過Hibernate提供的方法完成持久層操作,開發者並不需要熟練的掌握SQL語句的編寫,所以其開發效率會高於MyBatis。而Hibernate自身也存在着一些缺點,例如它在多表關聯時,對SQL查詢的支持較差;更新數據時,需要發送所有字段;不支持存儲過程;不能通過優化SQL來優化性能等。這些問題導致其只適合在場景不太複雜且對性能要求不高的項目中使用。

MyBatis是一個半自動映射的框架。這裏所謂的“半自動”是相對於Hibernate全表映射而言的。與Hibernate相比,雖然使用MyBatis手動編寫SQL要比使用Hibernate的工作量大,但MyBatis可以配置動態SQL並優化SQL,可以通過配置決定SQL的映射規則,它還支持存儲過程等。對於一些複雜的和需要優化性能的項目來說,顯然使用MyBatis更加合適。

  1. MyBatis的核心配置

習題

  • 填空題
  1. 當數據表中的列和需要返回的對象的屬性不完全一致, MyBatis是不會自動賦值的。此時,就可以使用【 <resultMap> 】元素進行處理。
  1. <resultMap>元素的子元素<id>用於表示哪個列是【 主鍵 】,而【<result> 】元素用於表示POJO和數據表中普通列的映射關係。
  2. MyBaits映射文件中使用<include>元素的【 refid 】屬性可以引用自定義的代碼片段,其屬性值爲自定義代碼片段的id。
  3. MyBatis映射文件中<insert>的<selectKey>子元素的order屬性可以被設置爲【 BEFORE  】或【 AFTER 】。
  4. 對於數據源的配置,MyBatis框架提供了UNPOOLED、【 POOIED 】和JNDI三種數據源類型。
  • 判斷題
  1. <resultMap>的子元素<association>和<collection>用於處理多表時的關聯關係。(  )
  2. MyBatis映射文件的<insert>元素的屬性與<select>元素的屬性大部分相同,但還包含了3個特有屬性。(  
  3. MyBatis框架提供了許多默認別名,由於別名不區分大小寫,所以在使用時要注意重複定義的覆蓋問題。(  )
  4. 映射文件中可以包含多個id值相同的<resultMap>元素。(  )
  5. 與<insert>元素一樣,<update>和<delete>元素在執行完之後,也會返回一個表示影響記錄條數的整數。(  )
  • 選擇題
  1. 以下有關<sql>元素說法錯誤的是(  )

A: <sql>元素的作用就是定義可重用的SQL代碼片段,然後在其他語句中引用這一代碼片段

B: 使用<include>元素的refid屬性可以引用自定義的代碼片段

C: 使用<include>元素refid的屬性值爲自定義代碼片段的name

D: <sql>元素是<mapper>元素的子元素

  1. 以下有關MyBatis映射文件中<insert>元素說法正確的是(  )

A: <insert>元素用於映射插入語句,在執行完元素中定義的SQL語句後,沒有返回結果

B: <insert>元素的屬性與<select>元素的屬性相同

C: keyColumn屬性用於設置第幾列是主鍵,當主鍵列不是表中的第一列時需要設置

D: useGeneratedKeys(僅對insert有用)此屬性會使MyBatis使用JDBC的getGeneratedKeys()方法來獲取由數據庫內部生產的主鍵

  1. 以下關於<select>元素及其屬性說法錯誤的是(  )

A: <select>元素用來映射查詢語句,它可以幫助我們從數據庫中讀取出數據,並組裝數據給業務開發人員

B: parameterType屬性表示傳入SQL語句的參數類的全限定名或者別名

C: resultMap表示外部resultMap的命名引用,返回時可以同時使用resultType和resultMap          

D: 在同一個映射文件中可以配置多個<select>元素

  1. 關於<typeHandlers>元素說法錯誤的是(  )

A: <typeHandler>元素就是用來在配置文件中註冊自定義的類型處理器的,它的使用方式有兩種  

B: 通過<typeHandlers>元素的子元素<typeHandler>就可以配置單個類型處理器   

C: 通過<typeHandlers>元素的子元素<package>可以配置包下的所有類型處理器   

D: <typeHandlers>元素的子元素<package>的handler屬性用於指定類型處理器所在的包名,系統會在啓動時自動的掃描com.itheima.type包下所有的文件,並把它們作爲類型處理器

  1. 有關MyBatis配置文件中<settings>元素的說法錯誤的是(  )

A: <settings>元素主要用於改變MyBatis運行時的行爲,例如開啓二級緩存、開啓延遲加載等

B: 雖然不配置<settings>元素,也可以正常運行MyBatis,但是熟悉<settings>的配置內容以及它們的作用還是十分必要的

C: <settings>元素中延遲加載的全局開關的參數lazyLoadingEnabled默認開啓

D: <settings>元素的配置內容大多數都不需要開發人員去配置它,通常在需要時只配置少數幾項即可

  • 簡答題
  1. 請簡述<sql>元素的作用及使用。

<sql>元素的作用就是定義可重用的SQL代碼片段。使用時,先通過<sql>元素定義重用的代碼片段,然後在需要使用的地方使用<include>元素的refid屬性引用了自定義的代碼片段。

  1. 動態SQL

習題

  • 填空題
  1. 當在MyBaits文件中使用了<bind>元素,在SQL語句中可以直接引用<bind>元素的【 name 】屬性值即可進行動態SQL組裝。
  2. 在使用MyBaits的<foreach>時,如果傳入的參數是多個的時候,就需要把它們封裝成一個Map了,這時候collection屬性值就爲Map的【 】。
  3. 在MyBaits映射文件中使用<set>和<if>元素組合進行update語句動態SQL組裝時,如果<set>元素內包含的內容都爲空,則會出現【 SQL語法錯誤  】。
  1. MyBaits中<trim>元素的作用是去除一些特殊的字符串,它的【 prefix 】屬性代表的是語句的前綴,而prefixOverrides屬性代表的是需要去除的哪些特殊字符串。
  2. 使用<set>和<if>元素相結合的方式來組裝update語句時,<set>元素就會動態前置【 SET 】關鍵字,同時也會消除SQL語句中最後一個多餘的【 逗號 】。
  • 判斷題
  1. 可以將任何可迭代對象(如列表、集合等)和任何的字典或者數組對象傳遞給<foreach>作爲集合參數。(  )
  2. 在MyBaits映射文件中使用<set>和<if>元素組合進行update語句動態SQL組裝時,如果<set>元素內包含的內容都爲空,則會出現SQL語法錯誤。(  )
  3. MyBaits中對原始SQL中的“where 1=1”的條件可以使用<where>與<if>元素組合進行替換。(  )
  4. 在MyBatis中<if>元素用於單條件分支判斷,當某個<if>的test屬性判斷成立,然後跳過其他<if>元素進行動態SQL組裝。(  )
  5. MyBatis中的<foreach>元素可以用於對數組和集合循環遍歷,批量執行SQL操作。(  )
  • 選擇題
  1. 以下不屬於<foreach>元素中使用的屬性的是(  )

A: separator

B: collection

C: current

D: item

  1. 以下關於<foreach>元素中使用的幾種屬性的描述錯誤的是(  )

A: item:配置的是循環中當前的元素             

B: index:配置的是當前元素在集合的位置下標

C: collection:配置的是傳遞過來的參數類型,它可以是一個array、list(或collection)、Map集合的鍵、POJO包裝類中數組或集合類型的屬性名等                

D: separator:配置的是各個元素的間隔符

  1. 以下關於MyBatis的<set>元素的使用及說法正確的是(  )

A: <set>元素主要用於更新操作,其主要作用是在動態包含的SQL語句前輸出一個SET關鍵字,並將SQL語句中最後一個多餘的逗號去除

B: 使用MyBatis的<set>元素來更新操作時,前端需要傳入所有參數字段,否則未傳入字段會默認設置爲空

C: 在映射文件中使用<set>和<if>元素組合進行update語句動態SQL組裝時, <set>元素內包含的內容可以都爲空,<if>元素會進行判斷處理

D: 在映射文件進行更新操作時,只需要使用<set>元素就可以進行動態SQL組裝

  1. 以下有關MyBatis動態SQL中的主要元素說法錯誤的是 

A: <if>用於單條件分支判斷

B: <choose>(<when>、<otherwise>)用於多條件分支判斷

C: <foreach>循環語句,常用於in語句等列舉條件中

D: <bind>從OGNL表達式中創建一個變量,並將其綁定到上下文,只於模糊查詢的sql中

  1. 當有多個選擇的情況是,值需要從多個選項中選擇一個去執行時,可以使用的動態SQL元素是(  )

A: <if>

B: <choose>、<when>、<otherwise>

C: <when>

D: <set>

  • 簡答題
  1. 請簡述MyBatis動態SQL中的主要元素及說明。

<if>:判斷語句,用於單條件分支判斷;

<choose>(<when>、<otherwise>):相當於Java中的switch...case...default語句,用於多條件分支判斷;

<where>、<trim>、<set>:輔助元素,用於處理一些SQL拼裝、特殊字符問題;

<foreach>:循環語句,常用於in語句等列舉條件中;

<bind>:從OGNL表達式中創建一個變量,並將其綁定到上下文,常用於模糊查詢的sql中。

 

  1. MyBatis的關聯映射

習題

  • 填空題
  1. MyBatis是通過<resultMap>元素的【 <collection> 】子元素該元素來處理多對多關聯關係的。
  2. MyBatis是通過<resultMap>元素的【 <association>  】子元素該元素來處理一對一關聯關係的。
  3. 在關係型數據庫中,多對多關係會產生【中間關係 】表,引入兩張表的主鍵作爲外鍵,兩個主鍵成爲聯合主鍵或使用新的字段作爲主鍵。
  4. 在關係型數據庫中,一對一可以在【 任意一方  】引入對方主鍵作爲外鍵。
  1. <collection>子元素的ofType屬性與javaType屬性對應,它用於指定實體對象中集合類屬性所包含的【 元素類型  】。
  • 判斷題
  1. MyBatis是同樣是通過<resultMap>元素的<collection>子元素該元素來處理多對多關聯關係的。(  )
  2. MyBatis在映射文件中加載關聯關係對象主要通過兩種方式:嵌套查詢和嵌套結果。(  )
  3. 在關係型數據庫中,一對多就是在“一”的一方,添加“多”的一方的主鍵作爲外鍵。(  )
  4. MyBatis中<collection>元素的屬性與<association>元素相同,且使用也很簡單,同樣有嵌套查詢和嵌套結果兩種關聯方式。(  )
  5. MyBatis是通過<resultMap>元素的<association>子元素該元素來處理一對一關聯關係的。(  )
  • 選擇題
  1. 以下關於MyBatis映射文件中<association>元素屬性的說明錯誤的是(  )

A: property:指定映射到的實體類對象屬性,與表字段一一對應

B: column:指定表中對應的字段

C: javaType:指定映射到實體對象屬性的類型

D: fetchType:指定在關聯查詢時是否啓用延遲加載。fetchType屬性有lazy和eager兩個屬性值,默認值爲eager

  1. 下面關於數據庫中多表之間關聯關係說法錯誤的是(  )

A: 一對一關聯關係可以在任意一方引入對方主鍵作爲外鍵

B: 一對多關聯關係在“一”的一方,添加“多”的一方的主鍵作爲外鍵

C: 多對多關聯關係會產生中間關係表,引入兩張表的主鍵作爲外鍵

D: 多對多關聯關係的兩個表的主鍵成可以爲聯合主鍵或使用新的字段作爲主鍵

  1. 下面關於Java對象之間的關聯關係描述正確的是(  )

A: 一對一的關係就是在本類和對方類中定義同一個類型的對象

B: 一對多的關係就是一個A類類型對應多個B類類型的情況

C: 多對多的關係只需要在一方的類中引入另一方類型的集合

D: 多對多關聯關係需要在本類中引入本類的集合

  1. 下面屬性中不屬於<association>元素屬性的是 

A: property

B: column

C: ofType

D: javaType

  1. 下面關於<collection>元素的描述正確的是(  )

A: MyBatis就是通過<collection>元素來處理一對多關聯關係的

B: <collection>元素的屬性與<association>元素完全相同

C: ofType屬性與javaType屬性對應,它用於指定實體對象中所有屬性所包含的元素類型

D: <collection >元素只能使用嵌套查詢方式

  • 簡答題
  1. 請簡要說明MyBatis在映射文件中加載關聯關係對象的方式。

答案

  • 填空題
  1. <collection>
  2. <association>
  3. 中間關係
  4. 任意一方
  5. 元素類型
  • 判斷題
  • 選擇題
  1. D
  2. B
  3. B
  4. C
  5. A
  • 簡答題

MyBatis在映射文件中加載關聯關係對象主要通過兩種方式:嵌套查詢和嵌套結果。嵌套查詢是指通過執行另外一條SQL映射語句來返回預期的複雜類型;嵌套結果是使用嵌套結果映射來處理重複的聯合結果的子集。

  1. MyBatis與Spring的整合

習題

  • 填空題
  1. 在MyBatis+Spring的項目中,事務是由【      】來管理的。
  2. MyBatis-Spring團隊提供了一種自動掃描的形式來配置MyBatis中的映射器——採用【      】類。
  3. 【      】是MyBatis-Spring團隊提供的一個用於根據Mapper接口生成Mapper對象的類。
  4. SqlSessionDaoSupport是一個抽象支持類,可以通過SqlSessionDaoSupport類的【      】方法來獲取所需的SqlSession。
  5. 在進行Spring與MyBatis整合時,Spring框架所需要準備的JAR包共10個,其中包括:4個核心模塊JAR,AOP開發使用的JAR,【      】和事務的JAR。
  • 判斷題
  1. MapperFactoryBean的參數SqlSessionTemplate用於指定SqlSessionTemplate。如果與SqlSessionFactory同時設定,則只會啓用SqlSessionFactory。(  )
  2. MyBaits與Spring進行整合時,Dao層開發可以使用傳統的DAO方式的開發整合,以及Mapper接口方式的開發整合。(  )
  3. 可以使用mybatis-spring包中所提供的SqlSessionTemplate類或SqlSessionDaoSupport類來實現向DAO實現類中注入SqlSessionFactory。(  )
  4. 在實際的項目開發中,Spring與MyBatis都是整合在一起使用的。(  )
  5. MapperFactoryBean是MyBatis-Spring團隊提供的一個用於根據Mapper接口生成Mapper對象的類。(  )
  • 選擇題
  1. MapperFactoryBean是MyBatis-Spring團隊提供的用於根據Mapper接口生成Mapper對象的類,該類在Spring配置文件中可以配置的參數不包括(  )

A: mapperInterface

B: SqlSessionFactory

C: SqlSessionTemplate

D: basePackage

  1. MapperScannerConfigurer類在Spring配置文件中使用時可以配置的屬性及說明錯誤的是(  )

A: basePackage:指定映射接口文件所在的包路徑,當需要掃描多個包時可以使用分號或逗號作爲分隔符

B: annotationClass:指定了要掃描的註解名稱,只有被註解標識的類纔會被配置爲映射器

C: sqlSessionFactoryBeanName:指定在Spring中定義的SqlSessionFactory的Bean名稱

D: sqlSessionTemplateBeanName:指定在Spring中定義的SqlSessionTemplate的Bean名稱。如果定義此屬性,則sqlSessionFactoryBeanName將起作用

  1. 在MyBatis+Spring的項目中,以下有關事務的相關說法正確的是(  )

A: 在MyBatis+Spring的項目中,事務是由MyBatis來管理的

B: 在項目中,數據訪問層既是處理業務的地方,又是管理數據庫事務的地方

C: 進行註解開發時,需要在配置文件中配置事務管理器並開啓事務註解

D: 進行註解開發時,需要使用@Transactional註解來標識表現層中的類

  1. 以下不屬於MapperScannerConfigurer類在Spring配置文件中使用時需要配置的屬性的是(  )

A: basePackage

B: annotationClass

C: sqlSessionFactoryBeanName

D: mapperInterface

  1. 以下有關採用傳統DAO開發方式進行MyBatis與Spring框架的整合的說法錯誤的是(  )

A: 採用傳統DAO開發方式進行MyBatis與Spring框架的整合時,只需要編寫DAO接口 

B: 採用傳統DAO開發方式進行MyBatis與Spring框架的整合時,需要向DAO實現類中注入SqlSessionFactory,然後在方法體內通過SqlSessionFactory創建SqlSession

C: 可以使用mybatis-spring包中所提供的SqlSessionTemplate類或SqlSessionDaoSupport類來實現在類中注入SqlSessionFactory

D: SqlSessionDaoSupport是一個抽象支持類,它繼承了DaoSupport類,主要是作爲DAO的基類來使用。可以通過SqlSessionDaoSupport類的getSqlSession()方法來獲取所需的SqlSession

  • 簡答題
  1. 請對mybatis-spring包中所提供的兩個類SqlSessionTemplate和SqlSessionDaoSupport進簡要介紹。

答案

  • 填空題
  1. Spring
  2. MapperScannerConfigurer
  3. MapperFactoryBean
  4. getSqlSession()
  5. JDBC
  • 判斷題
  • 選擇題
  1. D
  2. D
  3. C
  4. D
  5. A
  • 簡答題

SqlSessionTemplate是mybatis-spring的核心類,它負責管理MyBatis的SqlSession,調用MyBatis的SQL方法,當調用SQL方法時,SqlSessionTemplate將會保證使用的SqlSession和當前Spring的事務是相關的;SqlSessionDaoSupport是一個抽象支持類,它繼承了DaoSupport類,主要是作爲DAO的基類來使用

  1. Spring MVC入門

習題

  • 填空題
  1. 前端控制器攔截請求後,會調用【      】。
  2. Spring MVC支持多種視圖技術,包括【      】、Velocity和FreeMarker等。
  3. Spring MVC的配置文件中,可以配置處理器映射、處理器映射器、處理器適配器和【      】。
  4. Spring MVC提供了一個前端控制器【      】,使開發人員無需額外開發控制器對象。
  5. 在Spring MVC的執行流程中,Controller執行完成後,會返回一個【      】對象。
  • 判斷題
  1. HandlerAdapter將ModelAndView對象返回給ViewReslover。(  )
  2. Spring4.3版本的配置文件中,必須要配置處理器映射器、處理器適配器和視圖解析器,否則程序將無法運行。(  )
  3. <load-on-startup>元素中的1表示容器在啓動時立即加載這個Servlet。(  )
  4. Spring MVC支持JSP、Velocity、XML和FreeMarker等視圖技術。(  )
  5. Spring MVC的靈活性比較弱,易於與其他框架集成。(  )
  • 選擇題
  1. 下面關於Spring MVC特點說法錯誤的是(  )

A: 靈活性強,但不易於與其他框架集成

B: 可自動綁定用戶輸入,並能正確的轉換數據類型

C: 支持國際化

D: 使用基於XML的配置文件,在編輯後,不需要重新編譯應用程序

  1. Spring MVC中的後端控制器是指(  )

A: HandlerAdapter

B: DispatcherServlet

C: ViewReslover

D: Handler

  1. 用戶通過瀏覽器向服務器發送請求時,負責攔截用戶請求的是(  )

A: 處理器

B: 處理器映射器

C: 處理器適配器

D: 前端控制器

  1. 入門程序中,不是必須引入的JAR包是(  )

A: Spring的4個核心JAR包

B: commons-logging的JAR包

C: spring-web和spring-webmvc的JAR包

D: log4j的JAR

  1. Spring MVC是Spring提供的一個實現了(  )設計模式的輕量級Web框架。

A: Web MVC

B: Web

C: 單例

D: 工廠

  • 簡答題
  1. 請簡述Spring MVC的特點。

答案

  • 填空題
  1. HandlerMapping
  2. JSP
  3. 視圖解析器
  4. DispatcherServlet
  5. ModelAndView
  • 判斷題
  • 選擇題
  1. A
  2. D
  3. D
  4. D
  5. A
  • 簡答題

1.是Spring框架的一部分,可以方便的利用Spring所提供的其他功能。

2.靈活性強,易於與其他框架集成。

3.提供了一個前端控制器DispatcherServlet,使開發人員無需額外開發控制器對象。

4.可自動綁定用戶輸入,並能正確的轉換數據類型。

5.內置了常見的校驗器,可以校驗用戶輸入。如果校驗不能通過,那麼就會重定向到輸入表單。

6.支持國際化。可以根據用戶區域顯示多國語言。

  1. Spring MVC的核心類和註解

習題

  • 填空題
  1. RequestMapping註解類型用於映射【      】。
  2. 在使用Spring MVC的註解開發時,除了需要引入Spring的核心JAR包、Commons-logging的JAR包以及Spring MVC的2個JAR包外,還需要引入【      】的JAR包。
  3. 在視圖解析器配置中,可以設置視圖的【      】。
  4. 如果沒有通過<init-param>元素配置,則應用程序會默認去【      】尋找配置文件。
  5. 如果<load-on-startup>元素不存在,則應用程序會【      】加載該Servlet。
  • 判斷題
  1. 在控制器類中,每一個請求處理方法都可以有多個不同類型的參數,以及一個多種類型的返回結果。(  )
  2. @RequestMapping的method屬性必須使用。(  )
  3. @RequestMapping(method = RequestMethod.GET)可以縮寫爲@GetMapping。(  )
  4. @RequestMapping註解的屬性都是可選屬性。(  )
  5. Web.xml文件中必須使用<load-on-startup>元素和<init-param>元素,否則文件會報錯。(  )
  • 選擇題
  1. 下面關於請求處理方法返回類型說法錯誤的是(  )

A: 常見的返回類型是ModelAndView、String和void

B: ModelAndView類型中可以添加Model數據,並指定視圖

C: String類型的返回值可以跳轉視圖,但不能攜帶數據

D: void類型主要在異步請求時使用,它既返回數據,又跳轉視圖

  1. 下面類型中,不屬於請求處理方法參數類型的是(  )

A: javax.servlet.http.HttpSession

B: @MatrixVariable

C: org.springframework.ui.Model

D: void

  1. 下面關於組合註解的說法正確的是(  )

A: 組合註解是Spring3.x版本中的新特性

B: 組合註解可以簡化常用的HTTP方法的映射

C: 在所有的Spring項目中,使用組合註解可以替代@RequestMapping註解

D: @GetMapping註解可以用來匹配GET和POST方式的請求

  1. 下面關於@RequestMapping註解說法錯誤的是(  )

A: @RequestMapping註解的默認屬性是value

B: @RequestMapping註解的value屬性值可以省略

C: @RequestMapping註解的value屬性名可以省略

D: @RequestMapping註解的value屬性必須標註

  1. 下面關於<load-on-startup>元素說法錯誤的是(  )

A: 如果<load-on-startup>元素的值爲1,則在應用程序啓動時會立即加載該Servlet

B: 如果<load-on-startup>元素不存在,則應用程序會在第一個Servlet請求時加載該Servlet

C: 如果<load-on-startup>元素的值爲1,則在應用程序啓動時會延遲加載該Servlet

D: <load-on-startup>元素是可選的

  • 簡答題
  1. 請簡述ModelAndView、String和void三種返回類型的作用。

答案

  • 填空題
  1. 一個請求或一個方法
  2. Spring AOP
  3. 前綴和後綴
  4. WEB-INF目錄下
  5. 在第一個Servlet請求時
  • 判斷題
  • 選擇題
  1. D
  2. D
  3. B
  4. D
  5. C
  • 簡答題

ModelAndView類型中可以添加Model數據,並指定視圖;String類型的返回值可以跳轉視圖,但不能攜帶數據;而void類型主要在異步請求時使用,它只返回數據,而不會跳轉視圖。

  1. 數據綁定

習題

  • 填空題
  1. 在使用集合數據綁定時,後臺方法中不支持直接使用集合形參進行數據綁定,所以需要使用包裝POJO作爲形參,然後在包裝POJO中包裝一個【      】屬性。
  2. 使用包裝POJO類型數據綁定時,如果前端條件參數是包裝類中POJO的子屬性,則參數名必須爲【      】。
  3. 當前端請求的參數比較簡單時,可以在後臺方法的形參中直接使用Spring MVC提供的【      】類型進行數據綁定。
  4. 如果將訂單和用戶的所有查詢條件都封裝在一個簡單POJO中,顯然會比較混亂,這時就可以考慮使用【      】類型的數據綁定。
  5. 在使用POJO類型數據綁定時,前端請求的參數名必須與要綁定的POJO類中的【      】一樣,這樣纔會自動將請求數據綁定到POJO對象中,否則後臺接收的參數值爲【      】。
  • 判斷題
  1. 綁定數組與綁定集合頁面傳遞的參數相同,只是後臺接收方法的參數不同。(  )
  2. 要使用集合數據綁定,需要在包裝類中定義一個包含用戶信息類的集合,然後在接收方法中將參數類型定義爲該包裝類的集合。(  )
  3. 在執行綁定數組操作中,前臺頁面中複選框中傳遞的name屬性值必須相同。(  )
  4. 註冊自定義的Formatter轉換器類時,Bean的類名必須是org.springframework.format.support.FormattingConversionServiceFactoryBean,並且其屬性爲formatters。(  )
  5. Formatter與Converter的作用相同,只是Formatter的源類型可以是任意類型,而Converter必須是一個String類型。(  )
  • 選擇題
  1. 以下有關Spring MVC數據綁定中集合數據綁定的說法正確的是(  )

A:批量刪除用戶操作時,前端請求傳遞過來的參數就會包含多個相同類型的數據,此時可以採用數組類型數據綁定的形式

B:使用集合數據綁定需要後臺方法中定義一個集合類型參數介紹綁定前端請求參數

C:綁定數組與綁定集合頁面傳遞的參數相同,只是後臺接收方法的參數不同

D:在使用集合數據綁定時,後臺方法中不支持直接使用集合形參進行數據綁定

  1. 下面選項中,哪一個是Spring的編碼過濾器類(  )

A: org.springframework.web.filter.EncodingFilter

B: org.springframework.web.filter.CharacterEncodingFilter

C: org.springframework.web.filter.CharacterEncoding

D: org.springframework.web.filter.CharacterFilter

  1. @RequestParam註解中可以省略屬性名稱的是(  )

A: defaultValue

B: value

C: name

D: required

  1. 下面關於包裝POJO類型數據綁定的說法正確的是(  )

A: 如果查詢條件參數是包裝類的直接基本屬性,則參數名直接用對應的屬性名

B: 如果查詢條件參數是包裝類的直接基本屬性,則參數名必須使用對應的“對象.屬性名”

C: 如果查詢條件參數是包裝類中POJO的子屬性,則參數名必須爲屬性名

D: 如果查詢條件參數是包裝類中POJO的子屬性,則參數名必須爲“對象.子屬性.屬性值”的形式

  1. 下面不屬於@RequestParam註解類型屬性的是  

A: id

B: value

C: name

D: required

  • 簡答題
  1. 爲什麼需要自定義數據綁定?

答案

  • 填空題
  1. 集合
  2. 對象.屬性
  3. 默認參數
  4. 包裝POJO
  5. 屬性名   null
  • 判斷題
  • 選擇題
  1. D
  2. B
  3. B
  4. A
  5. A
  • 簡答題

一般情況下,使用基本數據類型和POJO類型的參數數據已經能夠滿足需求,然而有些特殊類型的參數是無法在後臺進行直接轉換的,例如日期數據就需要開發者自定義轉換器(Converter)或格式化(Formatter)來進行數據綁定。

  1. JSON數據綁定和RESTful支持

習題

  • 填空題
  1. RESTful風格在HTTP請求中,使用【      】、delete、post和get方式分別對應添加、刪除、修改和查詢的操作。
  2. 使用<bean>標籤配置方式配置JSON轉換器時,需要同時配置處理器映射器和處理器適配器,並且JSON轉換器是配置在【      】中。
  3. JSON對象的數組結構以“[”開始,以“]”結束,中間部分由【      】以英文“,”分隔的值的列表組成。
  4. @PathVariable註解用於接收並綁定請求參數,它可以將請求URL中的【      】到方法的形參上。
  5. RESTful風格在HTTP請求中,不能夠出現【      】。
  • 判斷題
  1. @PathVariable("id")註解用於接收並綁定請求參數,如果請求路徑中的參數名方法形參名稱一樣,則@PathVariable後面的“(“id”)”可以省略。(  )
  2. JSON對象數據結構的關鍵字(key)必須爲String類型,值(value)可以是String、Number、Object、Array等數據類型。(  )
  3. RESTful風格在HTTP請求中,使用put、delete、post和get方式分別對應添加、刪除、修改和查詢的操作。(  )
  4. RESTful也稱之爲REST,是英文“Representational State Transfer”的簡稱。(  )
  5. MappingJackson2HttpMessageConverter類只能將Java對象轉換爲JSON對象和XML文檔,不能將JSON對象和XML文檔轉換爲Java對象。(  )
  • 選擇題
  1. 針對GET方式RESTful風格的請求http://localhost:8080/chapter14/user/1,後臺方法接收參數的路徑映射寫法可行的是(  )

A: @RequestMapping("/user/{id}",method=RequestMethod.GET)。

B: @RequestMapping(value="/user/ids")。

C: @GetMapping(value="/user/{ids}")。

D: @GetMapping(value="/user/{id}",method=RequestMethod.GET)

  1. 下面屬於RESTful風格請求的是(  )

A: http://.../queryItems?id=1

B: http://.../queryItems?id=1&name=zhangsan

C: http://.../items/1

D: http://.../queryitems/1

  1. 下面不屬於AJAX中的屬性的是(  )

A: data

B: contentType

C: dataType

D: database

  1. 下面選項中不屬於Jackson的開源包的是(  )

A: jackson-annoations-2.8.8.jar

B: jackson-core-2.8.8.jar

C: jackson-databind-2.8.8.jar

D: jackson-data-2.8.8.jar

  1. JSON對象結構中,關鍵字key必須爲(  )類型

A: Object

B: Array

C: String

D: Number

  • 簡答題
  1. 請簡述Spring中HttpMessageConverter<T>接口的主要作用。

答案

  • 填空題
  1. put
  2. 適配器
  3. 0個或多個
  4. 變量映射
  5. 動詞
  • 判斷題
  • 選擇題
  1. C
  2. C
  3. D
  4. D
  5. C
  • 簡答題

1.爲了實現瀏覽器與控制器類(Controller)之間的數據交互,Spring提供了一個HttpMessageConverter<T>接口來完成此項工作。該接口主要用於將請求信息中的數據轉換爲一個類型爲T的對象,並將類型爲T的對象綁定到請求方法的參數中,或者將對象轉換爲響應信息傳遞給瀏覽器顯示。

  1. 攔截器

習題

  • 填空題
  1. Spring MVC單個攔截器執行順序中,在【      】處理完請求後,纔會執行afterCompletion()方法。
  2. Spring MVC中的攔截器(Interceptor)類似於Servlet中的【      】,它主要用於攔截用戶請求並作相應的處理。
  3. 用於如果沒有登錄系統而直接訪問主頁面,攔截器會將請求攔截,並轉發到【      】。
  4. 當有多個攔截器同時工作時,它們的【      】方法會按照配置文件中攔截器的配置順序執行。
  5. 如果攔截器類中的preHandle()方法的返回值爲【      】,則程序會繼續向下執行處理器中的方法。
  • 判斷題
  1. 在實現用戶登錄權限驗證中,需要定義一個登錄攔截器,並在攔截器的postHandle()方法中編寫業務邏輯進行登錄控制。(  )
  2. 配置攔截器時,必須將path的屬性值設置爲/**。(  )
  3. 多個攔截器時,postHandle()方法和afterCompletion()方法則會按照配置順序執行。(  )
  4. 全局攔截器和指定路徑下的攔截器不能夠同時配置,否則運行時會報錯。(  )
  5. <mvc:interceptor>中的子元素可以按照任意位置編寫。(  )
  • 選擇題
  1. 以下有關Spring MVC配置文件中攔截器的配置說法錯誤的是(  )

A: 要使用Spring MVC中攔截器,要先自定義攔截器還需要在配置文件中進行配置

B: <mvc:interceptors>元素用於配置一組攔截器,其子元素<bean>中定義的是指定路徑的攔截器

C: <mvc:interceptors>元素中可以同時配置多個<mvc:interceptor>子元素

D: <mvc:exclude-mapping>元素用於配置不需要攔截的路徑請求

  1. 下面不屬於攔截器類中的方法的是(  )

A: preHandler()

B: postHandle()

C: afterCompletion()

D: afterpletion()

  1. 以下哪個方法可以定義Spring MVC中的攔截器(  )

A: 繼承HandlerInterceptor

B: 實現WebRequestInterceptor

C: 實現HandlerInterceptorAdapter

D: 繼承WebRequestInterceptor

  1. 下列關於攔截器的執行流程說法錯誤的是(  )

A:程序首先會執行攔截器類中的preHandle()方法。

B:如果preHandle()方法的返回值爲true,則程序會繼續向下執行處理器中的方法,否則將不再向下執行。

C:在業務處理器(即控制器Controller類)處理完請求後,會執行preHandle()方法。

D:在DispatcherServlet處理完請求後,纔會執行afterCompletion()方法。

  1. 關於用戶權限驗證的執行流程,說法錯誤的是(  )

A:只有登錄後的用戶才能訪問系統中的主頁面。

B:如果沒有登錄系統而直接訪問主頁面,則攔截器會將請求攔截,並轉發到登錄頁面。

C:如果用戶名或密碼錯誤,會在登錄頁面給出相應的提示信息。

D:當已登錄的用戶在系統主頁中單擊“退出”鏈接時,系統會回到主頁面。

  • 簡答題
  1. 請簡述攔截器HandlerInterceptor接口中的方法並做說明。

答案

  • 填空題
  1. DispatcherServlet
  2. 過濾器或Filter
  3. 登錄頁面
  4. preHandle()
  5. true
  • 判斷題
  • 選擇題
  1. B
  2. D
  3. D
  4. C
  5. D
  • 簡答題

HandlerInterceptor接口中有3個方法:

1、preHandler()方法:該方法會在控制器方法前執行,其返回值表示是否中斷後續操作。當其返回值爲true時,表示繼續向下執行;當其返回值爲false時,會中斷後續的所有操作。

2、postHandle()方法:該方法會在控制器方法調用之後,且解析視圖之前執行。可以通過此方法對請求域中的模型和視圖做出進一步的修改。

3、afterCompletion()方法:該方法會在整個請求完成,即視圖渲染結束之後執行。可以通過此方法實現一些資源清理、記錄日誌信息等工作。

  1. 文件上傳和下載

習題

  • 填空題
  1. 由於不同版本的IE瀏覽器,請求代理【      】中的關鍵字也略有不同。
  2. ResponseEntity對象的作用有些類似於@ResponseBody註解,它用於直接返回【      】。
  3. 由於各個瀏覽器【      】的不同,就會出現不同的亂碼以及解析異常問題。
  4. 使用Servlet API中提供的URLEncoder類中的【      】方法將中文轉爲UTF-8編碼。
  5. HttpStatus類型代表的是Http協議中的狀態,示例中的HttpStatus.OK表示【      】,即服務器已成功處理了請求。
  • 判斷題
  1. 上傳文件時,必須要保證所上傳的文件不重名,爲此可以通過UUID等方式對上傳的文件名稱進行重命名。(  )
  2. 上傳的文件,可以在項目目錄中找到。(  )
  3. 通過maxUploadSize屬性可以對上傳文件緩存中的最大尺寸進行設置。(  )
  4. Spring MVC的文件上傳是通過MultipartResolver對象實現的。(  )
  5. Spring MVC需要通過第三方組件來實現文件上傳。(  )
  • 選擇題
  1. 下面關於MultipartFile接口中說法錯誤的是(  )

A: getOriginalFilename()用於獲取上傳文件的初始化名

B: getSize()用於獲取上傳文件的大小,單位是KB

C: getInputStream()用於讀取文件內容,返回一個InputStream流

D: transferTo(File file)用於將上傳文件保存到目標目錄下

  1. 下面屬於CommonsMultipartResolver屬性的是(  )

A: getContentType

B: getInputStream

C: isEmpty

D: defaultEncoding

  1. 下面關於文件上傳表單說法錯誤的是(  )

A: form表單的method屬性設置爲post

B: form表單的method屬性設置爲get

C: form表單的enctype屬性設置爲multipart/form-data

D: 提供<input type="file" name="filename" />的文件上傳輸入框

  1. 下面關於文件下載方法內容描述錯誤的是(  )

A:響應頭信息中的MediaType代表的是Interner Media Type(即互聯網媒體類型),也叫做MIME類型

B:MediaType.APPLICATION_OCTET_STREAM的值爲application/octet-stream,即表示以二進制流的形式下載數據

C:HttpStatus類型代表的是Http協議中的狀態

D:HttpStatus.OK表示500,即服務器已成功處理了請求

  1. 下面不屬於文件解析器類CommonsMultipartResolver屬性的是(  )

A:maxUploadSize

B:maxInMemorySize

C:defaultEncoding

D:lazy

  • 簡答題
  1. 請簡述文件上傳時表單需要滿足的3個條件。

答案

  • 填空題
  1. User-Agent
  2. 結果對象
  3. 內部轉碼機制
  4. encoder(String s, String enc)
  5. 200
  • 判斷題
  • 選擇題
  1. B
  2. D
  3. B
  4. D
  5. D
  • 簡答題

文件上傳表單需要滿足的3個條件如下:

1.form表單的method屬性設置爲post;

2.form表單的enctype屬性設置爲multipart/form-data;

3.提供<input type="file" name="filename" />的文件上傳輸入框。

  1. SSM框架整合

習題

  • 填空題
  1. SSM框架整合主要是【      】的整合,以及【      】的整合。
  2. 爲了避免Spring配置文件中的信息過於臃腫,通常會將Spring配置文件中的信息按照【      】分散在多個配置文件中。
  3. @Transactional註解主要是針對數據的【      】、【      】、【      】進行事務管理。
  4. 在整合項目中,db.properties文件主要用於【      】。
  5. Spring與MyBatis框架的整合時,可以通過Spring【      】,然後調用實例對象中的查詢方法來執行MyBatis映射文件中的【      】,如果能夠正確查詢出數據庫中的數據,就可以認爲Spring與MyBatis框架整合成功。
  • 判斷題
  1. 在實際開發時,爲了避免Spring配置文件中的信息過於臃腫,通常會將Spring配置文件中的信息按照不同的功能分散在多個配置文件中。(  )
  2. @Autowired註解需要標註在Service層的實現類上,這樣才能實現依賴注入。(  )
  3. @Transactional註解主要是針對數據的增加、修改、刪除和查詢進行事務管理。(  )
  4. Spring與Spring MVC,Spring MVC與MyBatis需要相互整合。(  )
  5. 在Spring MVC的配置文件中,視圖解析器是必須配置的。(  )
  • 選擇題
  1. 下列選項中,不需要配置在web.xml中的是(  )

A: Spring的監聽器

B: 編碼過濾器

C: 視圖解析器

D: 前端控制器

  1. 下列選項中,屬於Spring MVC所必須的JAR包的是(  )

A: spring-web-4.3.6.RELEASE.jar

B: spring-webmvc-portlet-4.3.6.RELEASE.jar

C: spring-webmvc-4.3.6.RELEASE-javadoc.jar

D: spring-websocket-4.3.6.RELEASE.jar

  1. 下列選項中,不屬於SSM整合時所需的JAR包的是(  )

A: spring-web-4.3.6.RELEASE.jar

B: spring-webmvc-4.3.6.RELEASE.jar

C: ant-1.9.6.jar

D: xwork-core-2.3.24.jar

  1. 下列關於SSM框架的整合說法錯誤的是(  )

A:Spring MVC與Spring之間不存在整合的問題。

B:SSM框架的整合就涉及到Spring與MyBatis的整合。

C:SSM框架的整合就涉及到Spring MVC與MyBatis的整合。

D:SSM框架的整合就涉及到Spring MVC與Spring之間的整合。

  1. 下面選項中,不屬於整合SSM框架所編寫的配置文件的是(  )

A:db.properties

B:applicationContext.xml

C:mybatis-config.xml

D:struts.xml

  • 簡答題
  1. 請簡述SSM框架整合思路。

答案

  • 填空題
  1. Spring與MyBatis、Spring MVC與MyBatis
  2. 不同的功能
  3. 增加、修改、刪除
  4. 配置數據庫常量
  5. 實例化Bean、 SQL語句
  • 判斷題
  • 選擇題
  1. C
  2. A
  3. D
  4. D
  5. D
  • 簡答題

由於Spring MVC是Spring框架中的一個模塊,所以Spring MVC與Spring之間不存在整合的問題,只要引入相應JAR包就可以直接使用。因此SSM框架的整合就只涉及到了Spring與MyBatis的整合,以及Spring MVC與MyBatis的整合。Spring與MyBatis框架的整合時,通過Spring實例化Bean,然後調用實例對象中的查詢方法來執行MyBatis映射文件中的SQL語句的,如果能夠正確查詢出數據庫中的數據,那麼就可以認爲Spring與MyBatis框架整合成功。加入Spring MVC後,如果可以通過前臺頁面來執行查詢方法,並且查詢出的數據能夠在頁面中正確顯示,那麼就可以認爲三大框架整合成功。

  1. BOOT客戶管理系統

習題

  • 填空題
  1. 系統中主要實現了兩大功能模塊:【      】和【      】。
  2. 【      】註解一般在異步獲取數據時使用。
  3. 在BOOT客戶管理系統中,新建客戶信息窗口是通過【      】的模態框代碼實現的。
  4. 查詢操作通常可以分爲按條件查詢和【      】。
  5. 在實際應用中,無論是企業級項目,還是互聯網項目,使用最多的一定是【      】。
  • 判斷題
  1. 刪除操作只需將所需刪除客戶的id信息傳遞給後臺刪除方法即可。(  )
  2. 修改操作時,修改信息窗口中的數據需要清空。(  )
  3. @Responsebody註解與@RequestMapping註解配合使用時,頁面中將可以獲取到方法的返回值。(  )
  4. 通常在系統中,查詢出的數據都會分頁顯示。(  )
  5. 在設置事務的傳播行爲時,需要將與查詢相關方法的read-only屬性值設置爲true。(  )
  • 選擇題
  1. 攔截用戶請求是在哪一層次中實現的(  )

A: 持久對象層

B: 數據訪問層

C: 業務邏輯層

D: Web表現層

  1. 下列選項中,不屬於BOOT客戶管理系統中功能的是(  )

A: 用戶登錄

B: 用戶管理

C: 查詢客戶

D: 修改客戶

  1. 下面選項中,關於Web表現層說法錯誤的是(  )

A: 該層主要包括Spring MVC中的Controller類和JSP頁面

B: Controller類主要負責攔截用戶請求

C: Controller類會調用業務邏輯層中相應組件的業務邏輯方法來處理用戶響應

D: Controller類會將請求的結果返回給JSP頁面

  1. 下列關於BOOT客戶管理系統用戶登錄模塊說法錯誤的是(  )

A:用戶登錄過程中首先要驗證用戶名和密碼是否正確,如果正確,可以成功登錄系統,系統會自動跳轉到主頁。

B:用戶登錄過程中首先要驗證用戶名和密碼是否正確,如果錯誤,則在登錄頁面給出錯誤提示信息。

C:爲了保證系統的安全性,用戶登錄時必須實現登錄驗證。

D:爲了保證系統的穩定性,用戶登錄時必須實現登錄驗證。

  1. 下列關於客戶管理模塊說法,正確的是(  )

A:查詢操作通常可以分爲按條件查詢和查詢所有。

B:添加客戶操作時,新建客戶信息窗口中需要回顯出客戶信息。

C:修改客戶時,必須修改所有的客戶信息纔可以執行保存修改。

D:刪除客戶時,只是更改了數據表中數據的狀態,並沒有刪除數據庫中的數據。

  • 簡答題
  1. 請簡述如何實現登錄驗證。

答案

  • 填空題
  1. 用戶登錄模塊,客戶管理模塊
  2. @Responsebody
  3. Bootstrap
  4. 查詢所有
  5. 查詢操作
  • 判斷題
  • 選擇題
  1. D
  2. B
  3. C
  4. D
  5. A
  • 簡答題

要實現登錄驗證,首先需要創建一個登錄攔截器類,該類中需要攔截除用戶登錄請求之外的所有請求,並對用戶的登錄狀態進行判斷,只有已登錄的用戶請求才能夠繼續執行,否則會將用戶請求轉發到系統登錄頁面,並給出登錄提示。編寫完登錄攔截器類後,還需要在Spring MVC的配置文件中對該攔截器類進行配置,配置完成後,即可使用。

 

 

 

 

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章