框架复习题
一、选择题(每题2分,共计100分)1. 下面关于AOP的说法错误的是( ) A.AOP将散落在系统中的“方面”代码集中实现 B.AOP有助于提高系统的可维护性 C.AOP已经表现出了将要替代面向对象的趋势 D.AOP是一种设计模式,Spring提供了一种实现2. 事务隔离级别是由谁实现的?( ) A.Java应用程序 B.Hibernate C.数据库系统 D.JDBC驱动程序标准SQL规范:在数据库操作中,为了有效保证并发读取数据的正确性,提出的事务隔离级别;为了解决更新丢失,脏读,不可重读(包括虚读和幻读)等问题在标准SQL规范中,定义了4个事务隔离级别,分别为未授权读取,也称为读未提交(read uncommitted);授权读取,也称为读提交(read committed);可重复读取(repeatable read);序列化(serializable).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. 依赖注入说法正确的是( ) 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.transactionProxyFactoryBean9. 下面( )不是Spring AOP中的通知类型 A.前置通知 B.后置通知 C.代理通知 D.异常通知10. 关于Spring 与 Hibernate集成,下面说法错误的是( ) A.Spring提供了HibernateDaoSupport累来简化Hibernate的使用 B.在Sping配置文件种可以通过Spring提供的LocalSessionFactoryBean,来获得SessionFactory的实例 C.通过集成Spring和Hibernate,用Spring管理程序的依赖关系,将SessionFactory注入到DataSource中 D.通过Spring,可以在Biz层代码中无需直接实例化DAO类,而是通过注入得到11. Spring常见的注入方式有( )[选两项] A.setter注入 B.getter注入 C.接口注入 D.构造注入12. 设值注入的优点包括( )。
[选三项] A.对于习惯了传统JavaBean开发的程序员,会认为通过setter方法设定依赖关系更加直观自然 B.当依赖关系(或继承关系)较复杂时,构造注入方式的构造函数相当庞大,此时若使用设值注入方式则简单快捷 C.某些第三方类库要求组件必须提供默认的构造函数,此时构造注入方式的依赖注入机制则会突显局限性,难以完成期望功能 D.在构造期即创建完整、合法的对象13. 构造注入的优点包括( )[选三项] A.把创建完整、合法对象的工作给构造函数外的其他方法来做 B.避免了编写繁琐的setter方法,所有的依赖关系都在构造函数中设定 C.由于不存在setter方法,而是在构造时由容器一次性设定依赖关系,因而组件在创建之后即处于相对不变的稳定状态,无须担心上层代码在调用过程中执行setter方法时破坏组件之间的依赖关系 D.通过构造子注入,可以在构造函数中决定依赖关系的注入顺序14. 关于IOC的理解,下面说法正确的是( )[选两项] A. 控制反转 B. 对象被动的接受依赖类 C. 对象主动的去找依赖类 D. 一定要用接口15. 下面关于在Spring中配置Bean的id属性的说法正确的是( )。
[选两项] A. id属性值可以重复 B. id属性值不可以重复 C. id属性是必须的,没有id属性会报错 D. id属性不是必须的16. 关于依赖注入,下列选项中说法错误的是( ) A. 依赖注入能够独立开发各组件,然后根据组件间关系进行组装 B. 依赖注入使组件之间相互依赖、相互制约 C. 依赖注入提倡使用接口编程 D. 依赖注入指对象在使用时动态注入17. 关于setter注入和构造注入说法正确的是( )[选两项] A.执行效果完全相同 B.注入依赖关系注入时机不同 C.setter注入方式依赖对象先注入 D.构造注入方式依赖对象先注入18. 关于AOP说法正确的是( ) A.AOP为OOP的补充和完善 B.AOP为OOA的补充和完善 C.AOP将逐渐代替OOP D.AOP将逐渐代替OOA19. AOP将软件系统分为两个部分( )[选两项] A.切面 B.业务处理 C.核心关注点 D.横切关注点20. 实现AOP代理时,下面说法正确的是( )。
[选三项] A.Spring默认使用用于接口的JDK动态代理 B.Spring只能使用JDK动态代理 C.Spring也可以使用CGLIB代理 D.Spring主要使用JDK动态代理21. Spring和Hibernate整合过程中各对象注入的顺序是( ) A.DataSource->SessionFactory-> Biz -> DAO B.SessionFactory -> DataSource ->DAO->Biz C.DataSource->SessionFactory->DAO->Biz D.SessionFactory -> DataSource -> Biz -> DAO22. Spring包装Hibernate后,能够来保存数据的方法有( )[选三项] A. save B. load C. saveOrUpdate D. merge23. 关于Spring与Hibernate集成,以下说法错误的是( ) A. 通过集成Spring与Hibernate,以Spring管理程序的依赖关系,将SessionFactory注入DataSource B. 通过Spring,在Biz层代码中无须直接实例化DAO类,而是通过注入获得 C. 通过Spring,在DAO类中无须实例化SessionFactory,而是通过注入获得 D. Spring提供HibernateDaoSupport类来简化Hibernate的使用24. Spring整合Hibernate后,findByCriteria方法说法正确的是( )。
A. 参数是HQL B. 参数是Retrictions对象 C. 参数是DetachedCriteria对象 D. 该方法不支持分页25. 关于Spring对Hibernate提供支持,以下说法错误的是( ) A. 提供了综合的事务管理 B. 提供了统一的异常继承体系 C. 便于测试 D. 没有给查询提供良好的支持26. 下列说法中正确的是( ) A. Spring DAO需要注入DataSource B. Spring DAO需要注入SessionFactory C. DataSource需要注入SessionFactory D. Spring DAO无须注入SessionFactory27. 在Web启动时创建ApplicationContext,下列选项中错误的是( ) A.
[选两项] A.使用org.springframework.web.struts.DelegatingRequestProcessor B.使用org.springframework.web.struts.DelegatingActionProxy C.使用org.springframework.web.context.ContextLoaderListener D. 使用org.springframework.web.context.ContextLoaderServlet29. 使用org.springframework.web.struts.DelegatingActionProxy时,需要任何配置( ) A.需要在struts-config.xml中配置
[选两项] A.实现了视图、控制器与模型的彻底分离 B.实现了业务逻辑层与持久层的分离 C.具有可扩展性 D.具有可维护性31. 事务的特性分别是( )[选四项] A.原子性 B.一致性 C.健壮性 D.持续性 E.隔离性 32. 事务一旦提交,对数据所做的任何改变都要记录到永久存储器中,这说明的是事务的( ) A.原子性 B.一致性 C.隔离性 D.持续性33. 与特定资源相关的事务是( ) A.全局事务 B.局部事务 C.声明式事务 D.编程式事务34. 传统J2EE开发者对事务常采用的两个策略是( )[选两项] A.全局事务 B.局部事务 C.声明式事务 D.编程式事务35. 在声明式事务中,要求调用方法的线程必须处于事务环境中,否则抛出异常,该事务规则是( )Propagation_mandatory A.PROPAGATION_NEVER B.PROPAGATION_SUPPORTS C.PROPAGATION_MANDATORY D. PROPAGATION_REQUIRED36. 关于Spring声明式事务说法正确的是( )。
A. Spring声明式事务是通过AOP来实现 B. Spring声明式事务是一种非侵入式设计 C. Spring声明式事务需要J2EE容器参与 D. Spring声明式事务大大降低代码书写量37. 下面关于Spring的说话正确的是( ) A.Spring是一个重量级的框架 B.Spring是一个轻量级的框架 C.Spring是一个IOC和AOP容器 D.Spring是一个入侵式的框架38. 下面关于IOC的理解,正确的是( )[选两项] A.控制反转 B.对象被动的接受依赖类 C.对象主动的去找依赖类 D.一定要用接口39. 下面关于AOP的理解,正确的是( )[选两项] A.面向纵向的开发 B.面向横向的开发 C.AOP关注是面 D.AOP关注的是点40. 下面关于切入点的说法正确的是( )[选三项] A.是AOP中一系列连连接点的集合 B.在做AOP时定义切入点是必须的 C.在做AOP时定义切入点不是必须的 D.可以用正则表达式来定义切入点41. Spring包装Hibernate之后,关于merge方法说话正确的是( )。
A.用来修改记录 B.用来增加记录 C.根据主键来判断,如果有主键就修改,没有主键就增加记录 D.先查询记录,后修改42. Spring包装Hibernate之后,关于findByCriteria方法说话正确的是( ) A.参数是Restrictions对象 B.参数是HQL语句 C.参数是DetachedCriteria对象 D.此方法不支持分页43. 下面关于Hibernate中SessionFactory的说法正确的是( )[选两项] A.SessionFactory是轻量级的,可以随意的创建和销毁 B.SessionFactory是重量级的,不能随意的创建和销毁 C.SessionFactory是线程安全的 D.SessionFactory不是线程安全的44. 关于Spring 与 Hibernate集成,下面说法错误的是( ) A.Spring提供了HibernateDaoSupport累来简化Hibernate的使用 B.在Spring配置文件种可以通过Spring提供的LocalSessionFactoryBean,来获得SessionFactory的实例 C.通过集成Spring和Hibernate,用Spring管理程序的依赖关系,将SessionFactory注入到DataSource中 D.通过Spring,可以在Biz层代码中无需直接实例化DAO类,而是通过注入得到45. Spring提倡通过( )实现松耦合。
A.容器 B.IOC C.AOP D.Spring框架46. Spring是一个包含且管理系统对象生命周期以及配置的( ),通过配置可以设定Bean为单一实例或者每次请求产生一个实例,以及设定相互之间的关联关系 A.容器 B.IOC C.AOP D.框架47. Spring能够通过简单的组件组合为复杂的系统Spring框架为分层架构,由( )个定义良好的模块组成,各模块构建于核心容器之上,核心容器定义了创建、配置及管理Bean的方式 A.5 B.6 C.7 D.848. ( )核心容器,用于提供Spring框架的基本功能,其主要组件为BeanFactory,是工厂模式的实现 A.Spring Core B.Spring Context C.Spring AOP D.Spring DAO49. ( )模块扩展了BeanFactory的概念,增加了对国际化(I18N,即Internationalization)消息、事件的传播以及验证的支持;同时提供诸多企业服务,支持对模版框架(例如Velocity、FreeMarker)的集成。
A.Spring Core B.Spring Context C.Spring AOP D.Spring DAO50. Spring负责创建Bean的实例并管理其生命周期,Bean运行于Spring的( ),无须知晓它的存在即可使用Spring的部分特性 A.框架 B.服务器 C.客户端 D.容器。




