Spring考试试卷 (题库)
1. 下列关于AOP的说法错误的是( )。 A.AOP将散落在系统中的“方面”代码集中实现 B.AOP有助于提高系统的可维护性
C.AOP已经表现出了将要替代面向对象的趋势 D.AOP是一种设计模式,Spring为其提供了一种实现 2. 在SSH整合时,事务隔离级别是由( )实现的。
A.Java应用程序 B.Hibernate C.数据库系统 D.JDBC驱动程序 3. 下列( )不是Spring的依赖注入方式。【选两项】 A.setter注入 B.getter注入 C.接口注入 D.构造注入 4. 在Spring框架中,面向方面编程(AOP)的目标在于( )。 A.编写程序时不用关心其依赖组件的实现 B.将程序中涉及的公用问题集中解决
C.封装JDBC访训数据库的代码,简化数据访训层的得复性代码 D.实现画面的“无刷新”
5. 关于Spring 与 Hibernate集成,下列说法错误的是( )。 A.Spring提供了HibernateDaoSupport类来简化Hibernate的使用
B.在Spring配置文件中,可以通过Spring提供的LocalSessionFactoryBean来获
得SessionFactory的实例
C.通过集成Spring和Hibernate,用Spring管理程序的依赖关系,将SessionFactory
注入到DataSource中
D.通过Spring,可以在Biz层代码中无需直接实例化DAO类,而是通过注入得到 6. 在Spring中,下列关于依赖注入的说法,正确的是( )。
A.依赖注入的目标是在代码之外管理程序组建间的依赖关系(组件?组建?) B.依赖注入即“面向接口”的编程 C.依赖注入是面向对象技术的替代品 D.依赖注入的使用会增大程序的规模 7. 下列关于Spring的说法错误的是( )。
A.Spring是一个轻量级JAVA EE的框架集合 B.Spring是“依赖注入”模式的实现
C.使用Spring可以实现声明事务 D.Spring提供了AOP方式的日志系统
8. 在Spring 中,配置Hibernate 事务管理器(Hibernate TransactionManager)时,需要注入的属性名称是( )。
A.dataSource B.sessionFactory
C.baseHibernateDao D.transactionProxyFactoryBean 9. 下列( )不是Spring AOP中的通知类型。 A.前置通知 B.后置通知 C.代理通知 D.异常通知 10.关于Spring与Hibernate集成,下列说法错误的是( )。 A.Spring提供了HibernateDaoSupport类来简化Hibernate的使用
B.在Spring配置文件中,可以通过Spring提供的LocalSessionFactoryBean来获
得SessionFactory的实例
C.通过集成Spring和Hibernate,用Spring管理程序的依赖关系,将SessionFactory
注入到DataSource中
D.通过Spring,无须在Biz层代码中直接实例化DAO类,而是可以通过注入得到 11.在Spring中,关于依赖注入,下列说法错误的是( )。
A.依赖注入是一种设计开发模式 B.依赖注入使组件之间相互依赖、相互制约 C.依赖注入提倡使用接口编程 D.依赖注入可以独立开发各组件,然后根据组件间的依赖关系进行组装
12.关于Spring,下列说法不正确的是( )。
A.运用Spring,可以通过一个setter方法暴露一个类的任何依赖关系 B.Spring解决依赖性问题的方法即反向控制或依赖注入
C.Spring从配置方面来解决依赖性问题,无须编写一个数据库连接 D.Spring从配置方面来解决依赖性问题,同时也需要编写一个数据库连接 13.下列对Spring的7个模块的说法,正确的有( )。【选两项】 A.各模块(或组件)可以单独存在
B.各模块(或组件)不可以单独存在,必须要一起使用 C.核心模块的BeanFactory使Spring成为框架
D.上下文模块使Spring成为容器
14. Spring以Bean的方式管理所有的组件,此处的Bean指的是( )。
A. 必须符合JavaBean B. 任何Java对象以及Java组件都视为Bean C. 必须要有getter方法和setter方法 D. EJB组件
15.在Spring中,Bean属性中的autowire包括( )。【选四项】 A.byName B.byType C.constructor D.bySet E.no
16.在Spring中,Bean属性中的dependency-check包括( )。【选三项】 A.no B.objects C.simple D.all
17.在Spring中,下列关于Bean属性中的singleton的说法,正确的有( )。【选两项】
A.用于定义Bean是否为Singleton B.默认为false C.默认为true
D.在BeanFactory作用范围内,仅维护此Bean的一个实例 18.Spring包括两种不同的容器,分别是( )。【选两项】
A.BeanFactory B.FileSystemXmlApplicationContext C.ClassPathXmlApplicationContext D.ApplicationContext
19. 下列能够判断Spring容器是否包含ID为proBean的Bean的代码为( )。 A.boolean flag = beanFactory.containsBean(\ B.PropertiesBean propertiesBean
= (PropertiesBean)beanFactory.getBean(\ C.Class classType = beanFactory.getType(\ D.PropertiesBean propertiesBean
= (PropertiesBean)beanFactory.getBean(\PropertiesBean.class);
20. 在Spring中,ApplicationContext继承了BeanFactory接口,提供BeanFactory的所有功能,同时具有部分新功能,包括( )。【选三项】
A.提供国际化的支持 B.资源访问 C.事务传递 D.载入多个配置文件 21. Spring常见的注入方式有( )。【选两项】
A.setter注入 B.getter注入 C.接口注入 D.构造注入
22. 在Spring中,设值注入的优点包括( )。【选三项】
A.对于习惯了传统JavaBean开发的程序员而言,通过setter方法设定依赖关系更加直观自然
B.当依赖关系(或继承关系)较复杂时,构造注入方式的构造函数相当庞大。此时若使用设值注入的方式,则简单快捷
C.某些第三方类库要求组件必须提供默认的构造函数,此时构造注入方式的依赖注入机制会突显其局限性,难以完成期望功能 D.在构造期即能创建完整、合法的对象
23. 在Spring中,构造注入的优点包括( )。【选三项】 A.将创建完整、合法对象的工作任务转交给构造函数外的其他方法 B.避免了编写繁琐的setter方法,所有的依赖关系都在构造函数中设定 C.由于不存在setter方法,而是在构造时由容器一次性设定依赖关系,因而组件
在创建之后即处于相对不变的稳定状态,无须担心上层代码在调用过程中执行setter方法时破坏组件之间的依赖关系
D.通过构造子注入,可以在构造函数中决定依赖关系的注入顺序
24.在Spring中,关于IOC的理解,下列说法正确的有( )。【选两项】 A. 控制反转 B. 对象被动地接受依赖类 C. 对象主动地寻找依赖类 D. 一定要用接口
25. 下列关于在Spring中配置Bean的id属性的说法,正确的有( )。【选两项】 A. id属性值可以重复 B. id属性值不可以重复 C. id属性是必须的,没有id属性会报错 D. id属性不是必须的 26. 在Spring中,关于依赖注入,下列选项中说法错误的是( )。 A. 依赖注入能够独立开发各组件,然后根据组件间的关系进行组装 B. 依赖注入使组件之间相互依赖、相互制约 C. 依赖注入提倡使用接口编程 D. 依赖注入指对象在使用时动态注入
27. 在Spring中,下列关于setter注入和构造注入的说法,正确的有( )。【选两项】
A.执行效果完全相同 B.注入依赖关系注入时机不同 C.setter注入方式依赖对象先注入 D.构造注入方式依赖对象先注入
28. 在Spring中,下列关于AOP的说法正确的是( )。 A.AOP为OOP的补充和完善 B.AOP为OOA的补充和完善 C.AOP将逐渐代替OOP D.AOP将逐渐代替OOA
29.在Spring中,AOP将软件系统分为两个部分,分别是( )。【选两项】 A.切面 B.业务处理 C.核心关注点 D.横切关注点
30. 在Spring中,实现AOP代理时,下列说法正确的有( )。【选三项】 A.Spring默认使用用于接口的JDK动态代理 B.Spring只能使用JDK动态代理 C.Spring也可以使用CGLIB代理 D.Spring主要使用JDK动态代理
31. 在Spring中,使用Java实现代理方式需实现InvocationHandler接口,且必须实现invoke(Object proxy, Method method, Object[] args)方法,则下列说法正确的有( )。【选三项】 A.第一个参数是目标类
B.第二个参数Method由被代理接口的方法调用 C.第三个参数是方法调用的参数
D.当程序调用代理的目标方法时,会自动变为调用invoke方法
32.在Spring中,Proxy.newProxyInstance(mobile.getClass().getClassLoader(), mobile.getClass().getInterfaces(), this) 方法根据接口数组动态创建代理类实例,下列说法不正确的是( )。
A.第一个参数用于创建动态代理的ClassLoader对象 B.第二个参数为代理对象 C.第三个参数为代理包含的处理实例 D.第二个参数为接口数组 33. Spring的环绕通知必须实现的接口是( )。
A.InvocationHandler B.MethodInterceptor C.MethodBeforeAdvice D.AfterReturningAdvice 34. Spring的后置通知必须实现的接口是( )。 A.InvocationHandler B.MethodInterceptor C.MethodBeforeAdvice D.AfterReturningAdvice