Spring测试题及答案

1下面关于“依赖注入”的说法,错误的是(D)

A. 将组件间的依赖关系采取配置文件的方式管理,而不是硬编码在代码中

B. 降低了组件间的耦合,使程序更容易维护和升级

C. 促进了“面向接口编程”,使构建大规模程序更轻松

D. 需要定义大量接口,增加编码复杂度

2下面关于Spring说法错误的是(D )

A. 支持前置、后置、环绕、异常抛出、最终增强

B. 采用代理方式实现

C. 与依赖注入紧密结合

D. 通过aop:pointcut与MyBatis结合

3关于Spring说法错误的是(B)

A. Spring是一个轻量级框架

B. Spring颠覆了已经有较好解决方案的领域,如Hibernate

C. Spring可以实现与多种框架的无缝继承

D. Spring的核心机制是“依赖注入”

4(多选)关于spring的说法正确的是(BD)

A. Spring是一个重量级框架

B. Spring是一个轻量级框架

C. Spring是一个入侵式框架

D. Spring是一个IOC和AOP容器

5下面关于依赖注入说法正确的是(A)

A. 依赖注入的目标是在代码之外管理程序组件间的依赖关系

B. 依赖注入即“面向接口”编程

C. 依赖注入是面向对象技术的代替品

D. 依赖注入的使用会增大层序的规模

6下面关于AOP的说法错误的是(C)

A. AOP将散落在系统中的“横切逻辑”进行集中实现

B. AOP有助于提高系统的可维护性

C. AOP已经表现出了将要代替面向对象的趋势

D. AOP是一种设计模式,Spring提供了一种实现

7(多选)下面关于IOC的理解,正确的是(AB)

A. IOC就是控制反转

B. 对象被动接受依赖类

C. 对象主动去找依赖类

D. 一定要用接口

8关于AOP的说法错误的是(B)

A. 首先要编写增强代码,前置增强可以通过MethodBeforeAdvice接口实现

B. Spring AOP采用拦截方法调用的方式实现,可以在调用的前、后等位置进行拦截

C. Spring AOP基于代理模式

D. Spring AOP可以在不对目标做任何修改的情况下增加程序功能

9.(多选)关于AOP的理解,正确的是(BC)

A. 面向纵向的开发

B. 面向横向的开发

C. AOP关注是面

D. AOP关注是点

10.Spring配置文件中有如下代码片段,则下面的说法正确的是(C )

<bean id=”printer” class=”cn.jbit.spring.Printer”>

<property name=”color” value=”#fff”/>

</bean>

A. printer中一定有public String color

B. printer中一定有private String color

C. printer中一定有public void setColor(String color)

D. printer中一定有private void setColor(String color)

11(多选)以下属于Spring增强的是( ABCDE )

A. BeforeAdvice

B. AfterReturnAdvice

C. AfterThrowing

D. AroundLogger

E. AfterLogger

F. BeforeLogger

12.关于p命名空间的使用,说法错误的是(A)

A. 注入bean类型的用法是p:属性名=“bean的id”

B. 使用前需要在Spring配置文件中导入p命名空间

C. P命名空间是通过setter访问器实现的注入

D. 使用p命名空间可以简化依赖注入的配置工作

13(多选)下面关于切入点的说法正确的是(ACD)

A. AOP是一系列连接点的集合

B. 在做AOP时,定义切入点是必须的

C. 在做AOP时,定义切入点不是必须的

D. 可以用正则表达式来定义切入点

14.使用Spring IOC注入不同类型的参数,说法错误的是( C )

A. 可以用来注入值类型的数据

B. 用来引用其他Bean组件

C. 表示注入一个null值

D. 可以用来注入String类型的数据

15:(多选)下面是Spring依赖注入的方式是( AB )

A. set方法注入

B. 构造方法的注入

C. get方法的注入

D. 接口的注入

16(多选)下面关于在Spring中配置Bean的id属性的说法正确的是(BD)

A. id属性是必须,没有id属性就会报错

B. id属性不是必须的,可以没有

C. id属性的值可以重复

D. id属性的值不可以重复

17.使用Schema方式配置切面,下列说法正确的是( A )

A. 包含增强方法的类可以使一个普通的JavaBean

B. Spring配置文件中使用aop:advisor元素定义切面

C. Spring配置文件中定义切面时需要指定对应的增强方法

D. 为增强方法注入连接点信息时,需要在配置文件中声明参数名称

18.在web.xml文件中配置Spring框架,下面配置正确的是(D )

A.<context-param>

      <param-name>config</param-name>

<param-value>classpath:applicationContext.xml</param-value>

</context-param>

B.<context-param>

      <param-name>servletConfig</param-name>

      <param-value> classpath:applicationContext.xml</param-value>

 </context-param>

C.<context-param>

      <param-name>contextconfig</param-name>

      <param-value> classpath:applicationContext.xml</param-value>  

</context-param>

D.<context-param>

       <param-name>contextConfigLocation</param-name>

       <param-value>classpath:applicationContext.xml</param-value>

</context-param>

19(多选)下面是IOC自动装载方法的是( AB)

A. byName

B. byType

C. constructor

D. byMethod

20.下面关于构造注入优点说法错误的是( C )

A. 构造期即创建一个完整、合法的对象

B. 不需要写繁琐的setter方法的

C. 对于复杂的依赖关系,构造注入更简洁,直观

D. 在构造函数中决定依赖关系的注入顺序

21:(多选)下面关于Spring配置文件说话正确的是(BC)

A. Spring配置文件必须叫applicationContext.xml

B. Spring配置文件可以不叫applicationContext.xml

C. Spring配置文件可以有多个

D. Spring配置文件只能有一个

22(多选)下面关于AOP的理解正确的是( BD )

A. 能够降低组件之间的依赖关系

B. 将项目中的公共的问题集中解决,减少代码量,提高系统的可维护性

C. AOP是面向对象的代替品

D. AOP不是面向对象的代替品,是面向对象很好的补充

23:Spring IOC容器管理Action的监听器是( C )

A.使用org.springframework.web.struts.DelegatingRequestProcessor

B.使用org.springframework.web.struts.DelegatingActionProxy

C.使用org.springframework.web.context.ContextLoaderListener

D.使用org.springframework.web.context.ContextLoaderServlet

24(多选)在SQL映射文件中有如下配置,通过SqlSessionTemplate.getMapper()方法可以获取映射接口,下列说法正确的是( AB )

<mapper namespace="cn.jbit.jboa.dao.EmployeeDao">

  <select id="countAll" resultType="int">

   SELECT count(*) FROM sys_employee

  </select>

</mapper>

A.在cn.jbit.jboa.dao包中存在数据接口EmployeeDao

B.接口EmployeeDao里有方法 countAll()

C.EmployeeDao一定不能有实现类,否则会出错

D.SQL映射文件的名字是一定EmployeeDaoMapper.xml

25(多选)将映射接口(cn. DepartmentDao)转化为Spring Bean,下列配置正确的是( AC )

A.<bean id="departDao" class="org.mybatis.spring.mapper.MapperFactoryBean">

    <property name="mapperInterface" value="cn. DepartmentDao"/>

    <property name="sqlSessionFactory" ref="sqlSessionFactory"/>

</bean>

B.<bean id="departDao" class="org.mybatis.spring.mapper.MapperFactoryBean">

    <property name="mapperInterface" value="cn.DepartmentDao"/>

</bean>

C.<bean class="org.mybatis.spring.mapper.MapperScannerConfigurer">

    <property name="sqlSessionFactory" ref="sqlSessionFactory"/>

<property name="basePackage" value="cn.dao"/>

</bean>

D.<bean class="org.mybatis.spring.mapper.MapperScannerConfigurer">

    <property name="sqlSessionFactory" ref="sqlSessionFactory"/>

    <property name="mapperPackage" value="cn.dao"/>

</bean>

26(多选)下列说法正确的是( ABCD)

A. Spring是分层的架构,可以选择使用需要的层而不用管不需要的部分

B. 依赖注入和IoC使得JDBC操作简单化

C. Spring是开源的免费的

D. Spring使得对象管理集中化和简单化

27.关于Spring集成MyBatis说法错误的是(A )

A.Spring提供了mybatis-spring Jar包实现了MyBatis的整合

B.在Spring配置SqlSessioinTemplate,注入到Dao实现类,实现对数据库的操作

C.可以没有Dao的实现类,采用MapperFactoryBean实现数据映射接口的定义

D.在Spring配置SqlSessionFactoryBean, 使用mppaerLocations属性,加载整个包下的SQL映射文件。

  • 0
    点赞
  • 8
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值