1.
Spring 框架容器支持多種形式的 Bean 的裝配方式,不包括有( )
A、 基於 XML 的裝配
B、 基於 properties 的裝配
C、 基於注解(Annotation)的裝配
D、 自動裝配
答案: B
2.
以下有關 Bean 的裝配方式說法正確的是( )
A、 Spring 容器支持多種形式的 Bean 的裝配方式,如基於 XML 的裝配、基於注解(Annotation)的裝配和自動裝配(其 中最常用的是基於 XML 的裝配)
B、 Spring 提供了 3 種基於 XML 的裝配方式:設值注入、構造注入和屬性注入
C、 在 Spring 實例化 Bean 的過程中,Spring 首先會調用 Bean 的默認構造方法來實例化 Bean 對象,然后通過反射的方 式調用 setter 方法來注入屬性值
D、 設值注入要求一個 Bean 必須提供一個有參構造方法並且為需要注入的屬性提供對應的 setter 方法
答案: C
3.
Spring 中定義了一系列的注解,以下有關其常用的注解說明錯誤的是( )。
A、 @Autowired 用於對 Bean 的屬性變量、屬性的 setter 方法及構造方法進行標注,配合對應的注解處理器完成 Bean 的自動配置工作,默認按照 Bean 的名稱進行裝配
B、 @Repository 用於將數據訪問層(DAO 層)的類標識為 Spring 中的 Bean
C、 @Service 通常作用在業務層(Service 層),用於將業務層的類標識為 Spring 中的 Bean
D、 @Controller 通常作用在控制層(如 Spring MVC 的 Controller),用於將控制層的類標識為 Spring 中的 Bean
答案: A
4.
Spring 的<bean>元素中的 autowire 屬性取值不包括以下( )。
A、 default
B、 byName
C、 byType
D、 byId
答案: D
5.
以下關於 Spring 對 Bean 生命周期的管理說法錯誤的是( )。
A、 Spring 容器可以管理 singleton 作用域的 Bean 的生命周期, Spring 能夠精確的知道該 Bean 何時被創建,何時初始 化完成,以及何時被銷毀
B、 對於 prototype 作用域的 Bean,Spring 只負責創建,當容器創建了 Bean 實例后,Bean 的實例就交給客戶端代碼來 管理,Spring 容器將不再跟蹤其生命周期
C、 每次客戶端請求 singleton 作用域的 Bean 時,Spring 容器都會創建一個新的實例,並且不會管那些被配置成 singleton 作用域的 Bean 的生命周期
D、 了解 Bean 的生命周期的意義就在於,可以在某個 Bean 生命周期的某些指定時刻完成一些相關操作
答案: C
6.
以下有關 CGLIB 代理相關說法正確的是( )。
A、 CGLIB 代理的使用非常簡單,但它還有一定的局限性——使用動態代理的對象必須實現一個或多個接口
B、 如果要對沒有實現接口的類進行代理,那么可以使用jdk動態代理
C、 CGLIB 是一個高性能開源的代碼生成包,在使用時需要另外導入 CGLIB 所需要的包
D、 Spring 中的 AOP 代理,必須是 CGLIB 代理
答案: C
7.
以下關於 Spring AOP 的介紹錯誤的是( )。
A、 AOP 的全稱是 Aspect-Oriented Programming,即面向切面編程(也稱面向方面編程)
B、 AOP 采取橫向抽取機制,將分散在各個方法中的重復代碼提取出來,這種采用橫向抽取機制的方式,采用 OOP 思 想是無法辦到的
C、 雖然 AOP 是一種新的編程思想,采取橫向抽取機制,是 OOP 的升級替代品
D、 目前最流行的 AOP 框架有兩個,分別為 Spring AOP 和 AspectJ
答案: C
8.
以下不屬於 ProxyFactoryBean 類中的常用可配置屬性的是( )。
A、 target
B、 proxyInterfaces
C、 targetClass
D、 interceptorNames
答案: C
9.
在 Java Web 應用中,MVC 設計模式中的 C(控制器)通常可以由( )充當。
A、 Servlet
B、 Listener
C、 POJO
D、 Filter
答案: A
10.
下面關於 Spring MVC 特點說法錯誤的是( )。
A、 靈活性強,但不易於與其他框架集成
B、 可自動綁定用戶輸入,並能正確的轉換數據類型
C、 支持國際化
D、 使用基於 XML 的配置文件,在編輯后,不需要重新編譯應用程序
答案: A
11.
Spring MVC 中的后端控制器是指( )。
A、 HandlerAdapter
B、 DispatcherServlet
C、 ViewReslover
D、 Handler
答案: D
12.
關於 Spring MVC 中的 DispatcherServlet 的說法正確的是( )。
A、 DispatcherServlet 是 Spring MVC 的前端控制器,不需要配置即可起作用
B、 DispatcherServlet 是整個 Spring MVC 框架的核心,它用來分派處理所有匹配的 HTTP 請求和響應
C、 在 web.xml 中只能配置一個 DispatcherServlet,並且 Servlet 的名稱必須叫 DispatcherServlet
D、 對於 DispatcherServlet 的相關配置,若配置其 servlet-mapping 映射到"/",即 DispatcherServlet 需要截獲並處理該項 目的所有 URL 請求
答案: D
13.
下面關於<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>元素是可選的
答案: C
14.
下面關於包裝 POJO 類型數據綁定的說法正確的是( )。
A、 如果查詢條件參數是包裝類的直接基本屬性,則參數名直接用對應的屬性名
B、 如果查詢條件參數是包裝類的直接基本屬性,則參數名必須使用對應的“對象.屬性名”
C、 如果查詢條件參數是包裝類中 POJO 的子屬性,則參數名必須為屬性名
D、 如果查詢條件參數是包裝類中 POJO 的子屬性,則參數名必須為“對象.子屬性.屬性值”的形式
答案: A
15.
以下有關 Spring MVC 數據綁定中集合數據綁定的說法正確的是( )。
A、 批量刪除用戶操作時,前端請求傳遞過來的參數就會包含多個相同類型的數據,此時可以采用數組類型數據綁定的 形式
B、 使用集合數據綁定需要后台方法中定義一個集合類型參數介紹綁定前端請求參數
C、 綁定數組與綁定集合頁面傳遞的參數相同,只是后台接收方法的參數不同
D、 在使用集合數據綁定時,后台方法中不支持直接使用集合形參進行數據綁定
答案: D
16.
JSON 對象結構中,關鍵字 key 必須為( )類型。
A、 Object
B、 Array
C、 String
D、 Number
答案: C
17.
下面選項中,哪一個是 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
答案: B
18.
下面屬於 RESTful 風格請求的是( )
A、 http://.../queryItems?id=1
B、 http://.../queryItems?id=1&name=zhangsan
C、 http://.../items/1
D、 http://.../queryitems/1
答案: C
19.
下列關於 Spring 集成 MyBatis 的說法錯誤的是( )。
A、 Spring 提供了 MyBatis-Spring JAR 包實現了 MyBatis 的整合
B、 在 Spring 中配置 SqlSessionTemplate,注入到 DAO 實現類,實現對數據庫的操作
C、 可以在沒有 DAO 的實現類的情況下,采用 MapperFactoryBean 實現數據映射接口的定義
D、 在 Spring 中配置 SqlSessionFactoryBean,使用 mapperLocations 屬性,加載整個包下的 SQL 映射文件
答案: A
20.
在 MyBatis+Spring 的項目中,以下有關事務的相關說法正確的是( )。
A、 在 MyBatis+Spring 的項目中,事務是由 MyBatis 來管理的
B、 在項目中,數據訪問層既是處理業務的地方,又是管理數據庫事務的地方
C、 進行注解開發時,需要在配置文件中配置事務管理器並開啟事務注解
D、 進行注解開發時,需要使用@Transactional 注解來標識表現層中的類
答案: C
21.
以下不屬於 MapperScannerConfigurer 類,在 Spring 配置文件中使用時需要配置的屬性的是( )。
A、 basePackage
B、 annotationClass
C、 mapperInterface
D、 sqlSessionFactoryBeanName
答案: C
22.
以下有關采用傳統 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 的基類來使用
答案: A
23.
下面關於 Spring 的說法中錯誤的是
A、 Spring 是一個輕量級框架
B、 Spring 可以實現與多種框架的無縫集成
C、 Spring 顛覆了已經有較好解決方案的領域,如 MyBatis
D、 Spring 的核心機制是"依賴注入"
答案: C
24.
以下有關 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 其它組件都要用到這個包里的類,是其它組件 的基本核心
答案: D
25.
以下關於 Spring 核心容器相關說法錯誤的是()
A、 Spring 框架的所有功能都是通過其核心容器來實現的
B、 創建 BeanFactory 實例時,需要提供 Spring 所管理容器的詳細配置信息,這些信息通常采用 XML 文件形式來管理
C、 ApplicationContext 不僅包含了 BeanFactory 的所有功能,還添加了對國際化、資源訪問、事件傳播等方面的支持
D、 通常在 Java 項目中,會采用通過 ClassPathXmlApplicationContext 類來實例化 ApplicationContext 容器的方式,而在 Web 項目中,ApplicationContext 容器的實例化工作會交由 Web 服務器來完成
答案: A
26.
下面關於依賴注入的說法正確的是( )。
A、 依賴注入的目標是在代碼之外管理程序組件間的依賴關系
B、 依賴注入即"面向接口"編程
C、 依賴注入是面向對象技術的替代品
D、 依賴注入的使用會增大程序的規模
答案: A
多選:
1.
下列關於使用注解方式配置切面的說法正確的是( )。
A、 使用注解方式可以簡化 Spring 的 AOP 配置
B、 需要在 Spring 配置文件中添加<aop:aspectj-autoproxy>元素
C、 需要在 Spring 配置文件中定義切入點供注解使用
D、 使用注解定義的增強處理類無須定義在 Spring 配置文件中,Spring 會自動管理
答案: AB
2.
下列關於使用注解實現 IoC 配置的說法正確的是( )
A、 @Repository 用於標注業務類
B、 @Service("UserService")表示定義一個 UserService 類型業務 Bean
C、 @Autowired 默認按類型自動裝配
D、 使用 context 命名空間下的 component-scan 標簽掃描注解標注的類
答案: CD
3.
如果在 SQL 映射文件中有如下配置,通過 MapperFactoryBean 可以獲取映射接口,下列說法正確的是( )。
A、 在 cn.dsscm.dao.user 包中存在數據接口 UserMapper
B、 接口 UserMapper 里有方法 countAll()
C、 UserMapper 一定不能有實現類,否則會出錯
D、 SQL 映射文件的名稱必須是 UserMapper.xml
答案: AB