一、選擇題
下列選項中,不屬於Spring框架優點的是
A、提供強大的、可以有效減少頁面代碼的標簽
B、聲明式事務的支持
C、方便解耦、簡化開發
D、方便集成各種優秀框架
參考答案:A
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
下面關於update()方法描述錯誤的是
A、update()方法可以完成插入、更新、刪除和查詢數據的操作
B、在JdbcTemplate類中,提供了一系列的update()方法
C、update()方法執行后,會返回受影響的行數
D、update()方法返回的參數是int類型
參考答案:A
以下關於@Transactional注解可配置的參數信息描述正確的是。
A、value用於指定需要使用的事務管理器,默認為"";
B、read-only用於指定事務是否只讀,默認為true;
C、isolation用於指定事務的隔離級別,默認為Isolation.READ_COMMITTED;
D、propagation用於指定事務的傳播行為,默認為Propagation. SUPPORTS;
參考答案:A
下列選項中,哪一個不是Spring中事務管理的核心接口
A、PlatformTransactionManager
B、TransactionDefinition
C、 TransactionStatus
D、TransactionManager
參考答案:D
下列選項中,屬於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
參考答案:A
Spring的核心容器是其他模塊建立的基礎,以下哪個不是該容器的組成模塊。
A、Beans模塊
B、Core模塊
C、Context模塊
D、AOP模塊
參考答案:D
以下哪個不是 Spring AOP 的注解
A、@Before
B、@Around
C、@BeforeReturning
D、@AfterThrowing
參考答案:C
Spring bean 的默認作用范圍是
A、全不正確
B、Singleton
C、Prototype
D、Session
參考答案:B
Spring中,單例意味着每一個_____只有一個實例
A、Context
B、 JVM
C、Thread
參考答案:A
在Spring MVC中,哪個類是負責處理HTTP請求和響應的
A、DispatcherServlet
B、RequestHandler
C、HttpServlet
D、SpringController
參考答案:A
Spring支持的事務功能包括
A、事務的傳播行為
B、事務回滾
C、全部選項
D、事務的隔離級別
參考答案:C
看下面的代碼,說法正確的是
<bean id="userTable" class="com.xfaccp.bean.UserTable">
<property name="userName">
<value>ACCP</value>
</property>
</bean>
A、其中<property name="userName">的userName是UserTable中的屬性,可以不要get、set方法。
B、其中<property name="userName">的userName是UserTable中的屬性,可以不要get方法,但是一定要有set方法
C、其中<property name="userName">的userName是UserTable中的屬性,可以不要set方法,但是一定要有get方法
D、其中<property name="userName">的userName是UserTable中的屬性,一定要有get和set方法
參考答案:B
下面關於Spring中的bean的作用域,描述錯誤的是
A、Spring中的bean的作用域可以通過scope屬性進行配置
B、Spring中的bean的作用域默認是prototype
C、當一個bean的scope設為“singleton”時,可以被多個線程同時訪問
D、一個bean的scope只對它自己起作用,與其它bean無關
參考答案:B
Spring配置文件中關於事務的配置代碼如下:
…
<tx:advice id="txAdvice" transaction-manager="txManager"> <tx:attributes>
<tx:method name="get*"
propagation="REQUIRED"
read-only="true" />
<tx:method name="add*" propagation="REQUIRED" />
<tx:method name="*" propagation="REQUIRED"
read-only="true" />
</tx:attributes>
</tx:advice>
<aop:config>
<aop:pointcut id="serviceMethod"
expression="execution(* cn.jbit.ch09.service.*.*(..))" />
<aop:advisor advice-ref="①________" pointcut-ref="②_________" /> </aop:config> …
在橫線處應填入
A、① txAdvice ② txManager
B、① serviceMethod ② txManager
C、① txAdvice ② serviceMethod
D、① serviceMethod ② txAdvice
參考答案:C
二、多選題
下面關於Spring的說話正確的是
A、Spring是一個重量級的框架
B、Spring是一個輕量級的框架
C、Spring是一個IOC和AOP容器
D、Spring是一個入侵式的框架
參考答案:B,C
下面是Spring依賴注入方式的是
A、set方法注入
B、構造方法的注入
C、get方法的注入
D、接口的注入
參考答案:A,B
下面關於在Spring中配置Bean的id屬性的說法正確的是
A、id屬性是必須,沒有id屬性就會報錯
B、id屬性不是必須的,可以沒有
C、id屬性的值可以重復
D、id屬性的值不可以重復
參考答案:B,D
下面關於Spring配置文件說話正確的是
A、Spring配置文件必須叫applicationContext.xml
B、Spring配置文件可以不叫applicationContext.xml
C、Spring配置文件可以有多個
D、Spring配置文件只能有一個
參考答案:B,C
看下面的代碼,說法正確的是
<bean id=“user" class=“com.xfaccp.bean.User"/>
<constructor-arg> <value>accp</value> </constructor-arg>
</bean>
A、必須要有一個接受字符串的構造方法
B、可以沒有接受一個字符串的構造方法
C、這個類有且只能有一個只接受一個字符串的構造方法
D、這個類可以有多個構造方法,但是一定要有一個只接受一個字符串的構造方法
參考答案:A,D
下面關於ApplicationContext的說法正確的是
A、是BeanFactory的實現類
B、是一個接口
C、提供一些BeanFactory的擴展功能
D、功能同BeanFactory一樣
參考答案:B,C
下面是BeanFactory的實現類的是
A、ClassPathXmlApplicationContext
B、ApplicationContext
C、FileSystemXmlApplicationContext
D、以上都是
參考答案:A,C
實現AOP代理時,下面說法正確的是
A、Spring默認使用用於接口的JDK動態代理
B、Spring只能使用JDK動態代理
C、Spring也可以使用CGLIB代理
D、Spring主要使用JDK動態代理
參考答案:A,C
對下面使用Spring依賴注入的代碼,下面說法錯誤的是
ApplicationContext context =
new ClassPathXmlApplicationContext("di.xml");
Printer printer = (Printer)context.getBean("printer");
A、配置文件di.xml位於classpath目錄下
B、在di.xml中定義了一個id或name為printer的bean
C、context.getBean()返回的是printer類型的對象,不需要強制轉換類型
D、di.xml被修改后,context會自動重新加載
參考答案:C,D
在Spring的配置文件中,包含如下所示的配置代碼,則下面說法正確的是
<bean id="testBean" class="test.TestBean">
<property name="dp" value="10" />
<property name="sp" value="mm" />
</bean>
A、可以通過下列代碼獲取對象實例: ApplicationContext context = new ClassPathXmlApplicationContext("di.xml"); TestBean t = (TestBean)context.getBean("test.TestBean");
B、TestBean中一定有如下語句: private String dp = "";
C、TestBean中有方法:public void setSp(String value)
D、屬性dp的類型可能是int也可能是String
參考答案:C,D
三、判斷題
Spring中基於構造方法的依賴注入通過調用帶參數的構造方法來實現,每個參數代表着一個依賴
A、對
B、錯
參考答案:A
每次客戶端請求singleton作用域的Bean時,Spring容器都會創建一個新的實例,並且不會管那些被配置成singleton作用域的Bean的生命周期
A、對
B、錯
參考答案:B
AspectJ框架中的注解@After用於定義最終final通知,不管是否異常,該通知都會執行
A、對
B、錯
參考答案:A
JdbcTemplate類中還提供了大量的query()方法來處理各種對數據庫表的查詢操作
A、對
B、錯
參考答案:A
Spring配置文件中的<beans>元素下可以包含多個<aop:config>元素,一個<aop:config>元素中又可以包含屬性和子元素,其子元素包括<aop:pointcut>、<aop:advisor>和<aop:aspect>
A、對
B、錯
參考答案:A
四、填空題
-
簡單來說,BeanFactory就是一個管理Bean的工廠,它主要負責初始化各種Bean,並調用它們的 ________ 方法
參考答案:init
-
實例工廠方式采用直接創建Bean實例的方式,在配置文件中,需要實例化的Bean是通過 _________ 屬性指向配置的實例工廠,然后使用factory-method屬性確定使用工廠中的哪個方法
參考答案:factory-bean
-
AspectJ框架中注解_________用於定義切入點表達式,在使用時還需定義一個包含名字和任意參數的方法簽名來表示切入點名稱
參考答案:@PointCut
-
Spring2.0以后,提供了tx命名空間來配置事務,tx命名空間下提供了________________元素來配置事務的通知(增強處理)
參考答案:advice
-
SpringMVC的前端控制器為
參考答案:DispacherServlet 。
