一、选择题

下列选项中,不属于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

四、填空题

  1. 简单来说,BeanFactory就是一个管理Bean的工厂,它主要负责初始化各种Bean,并调用它们的 ________ 方法
    参考答案:init
  2. 实例工厂方式采用直接创建Bean实例的方式,在配置文件中,需要实例化的Bean是通过 _________ 属性指向配置的实例工厂,然后使用factory-method属性确定使用工厂中的哪个方法
    参考答案:factory-bean
  3. AspectJ框架中注解_________用于定义切入点表达式,在使用时还需定义一个包含名字和任意参数的方法签名来表示切入点名称
    参考答案:@PointCut
  4. Spring2.0以后,提供了tx命名空间来配置事务,tx命名空间下提供了________________元素来配置事务的通知(增强处理)
    参考答案:advice
  5. SpringMVC的前端控制器为
    参考答案:DispacherServlet 。