JAVA EE半期1.doc_第1页
JAVA EE半期1.doc_第2页
JAVA EE半期1.doc_第3页
全文预览已结束

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

一、 选择题:下面关于AOP的说法错误的是( C )。A AOP将散落在系统中的“方面”代码集中实现 B. AOP有助于提高系统的可维护性C. AOP已经表现出了将要替代面向对象的趋势 D. AOP是一种设计模式,Spring提供了一种实现1. 在Spring框架中,面向方面编程(AOP)的目标在于( C )。A 编写程序时不用关心其依赖超件的实现 B. 将程序中涉及的公用问题集中解决C. 封装JDBC访训数据库的代码,简化数据访问层的得复性代码 D. 实现面面的“无刷新”2. 依赖注入说法正确的是( A )。A 依赖注入的目标是在代码之外管理程序组建间的依赖关系 B. 依赖注入即是“面向接口”的编程C. 依赖注入是面向对象技术的替代品 D.依赖注入的使用会增大程序的规模3. 关于Spring说法错误的是( D )。A Spring是一个轻量级JAVA EE的框架集合 B. Spring是“依赖注入”模式的实现C.使用Spring可以实现声明事务 D. Spring提供了AOP方式的日志4. 下面( C )不是Spring AOP中的通知类型。A 前置通知 B. 后置通知 C. 代理通知 D. 异常通知5. Spring提倡通过( C )实现松耦合。A容器 B. IOC C. AOP D. Spring框架6. Spring负责创建Bean的实例并管理其生命周期,Bean运行于Spring的( D ),无须知晓它的存在即可使用Spring的部分特性。A框架 B. 服务器 C. 客户端 D. 容器7. 有关Spring中配置数据源,下列说法正确的是( C )。A 配置数据源的bean名字只能是dataSource B. DataSource接口位于java.sql包中C. 在一个spring配置文件中可以配置多个数据源 D. DataSource就是一个数据库连接8. 下面关于切入点的说法不正确的是( B )。A是AOP中一系列连接点的集合 B. 在做AOP时定义切入点是必须的 C. 在做AOP时定义切入点不是必须的 D. 可以用正则表达式来宣州切入点9. 下面关于Spring中的bean的作用域,描述错误的是( B )。A Spring中的bean作用域可以通过scope属性进行配置B Spring中的bean作用域默认是prototypeC 当一个bean的scope设为“singleton”时可以被多个线程同时访问D 一个bean的scope只对它自己起作用,与其它bean无关10. Spring中around通知的目标对象要实现的接口中invoke中方法的参数是( C )。A方法 B. 目标对象 C. 方法执行参数 D. Exception11. 看下面的代码,说法正确的是( B )。 ACCP A 其中的userName是UserTable中的属性,可以不要get、set方法B 其中的userName是UserTable中的属性,可以不要get方法,但一定要有set方法C 其中的userName是UserTable中的属性,可以不要set方法,但一定要有get方法D 其中的userName是UserTable中的属性,一定要有get和set方法12. 关于Spring的装配模式(default-autowire)描述不正确的是( D )。A Spring中,至少有两种装配模式,按“类型”和“名字”B Spring中默认是按名字进行装配C 可以用default-autowire=”byType”配置按类型装配D 一且在一个Spring的配置文件中配置了default-autowire=”byType”,其它的配置文件也是按此种装配方式13. 关于Spring配置数据连接池的描述,错误的是?( D )。Spring可以用mons.dbcp.BasicDataSource类配置数据源在mons.dbcp.BasicDataSource类中有driver、url、username、password属性A 在用dbcp时,需要拷贝commons-dbcp的jar包到类路径下B 配置spring数据源时,必须引入Hibernate的SessionFactory14. 下列关于Spring的配置文件说法不正确的是( C )。ASpring默认是读取/WEB-INF/applicationContext.xml配置文件BSpring的配置文件可以配置在类路径下,并可以重命令,但是需要要web.xml中指定C把applicationContext.xml文件放到src下,Spring也可以读到D可以通过在web.xml中的和进行指定Spring的配置文件16. 下面关于Hibernate中SessionFactory的说法正确的是(BC)。选两 ASessionFactory是轻量级的,可以随意的创建和销毁BSessionFactory是重量级的,不能随意的创建和销毁CSessionFactory是线程安全的DSessionFactory不是线程安全的17. 下面关于切入点的说法正确的是(ACD)。选三项A是AOP中一系列连连接点的集合B在做AOP时定义切入点是必须的C在做AOP时定义切入点不是必须的D可以用正则表达式来定义切入点18. 关于Spring声明式事务说法正确的是(AB)。A.Spring声明式事务是通过AOP来实现 B.Spring声明式事务是一种非侵入式设计C.Spring声明式事务需要J2EE容器参与D.Spring声明式事务大大降低代码书写量19. 下面关于IOC的理解,正确的是(AB)。选两项A控制反转B对象被动的接受依赖类C对象主动的去找依D一定要用接口20. 下面关于AOP的理解,正确的是(BC)。选两项A面向纵向的开发B面向横向的开发CAOP关注是面DAOP关注的是点21. 事务的特性分别是(ABDE)。选四项A原子性B一致性C健壮性D持续性E.隔离性22. 传统J2EE开发者对事务常采用的两个策略是(AB)。选两项A全局事务B局部事务C声明式事务D编程式事务23.SSH整合的优点有(BD)。选两项A实现了视图、控制器与模型的彻底分离B实现了业务逻辑层与持久层的分离C具有可扩展性 D具有可维护性24. 实现AOP代理时,下面说法正确的是(ACD)。选三项ASpring默认使用用于接口的JDK动态代理BSpring只能使用JDK动态代理CSpring也可以使用CGLIB代理DSpring主要使用JDK动态代理25. 关于IOC的理解,下面说法正确的是(AB)。选两项A.控制反转B.对象被动的接受依赖类C.对象主动的去找依赖类 D.一定要用接口26. 下面关于在Spring中配置Bean的id属性的说法正确的是(BD)。选A.id属性值可以重复 B.id属性值不可以重复C.id属性是必须的,没有id属性会报错D.id属性不是必须的27. 关于setter注入和构造注入说法正确的是(BD)。选两项A执行效果完全相同B注入依赖关系注入时机不同Csetter注入方式依赖对象先注入D构造注入方式依赖对象先注入28. Spring常见的注入方式有(AD)。选两项Asetter注入Bgetter注入C接口注入D构造注入29.设值注入的优点包括(ABC)。选三项A对于习惯了传统JavaBean开发的程序员,会认为通过setter方法设定依赖关系更加直观自然B当依赖关系(或继承关系)较复杂时,构造注入方式的构造函数相当庞大,此时若使用设值注入方式则简单快捷C某些第三方类库要求组件必须提供默认的构造函数,此时构造注入方式的依赖注入机制则会突显局限性难以完成期望功能 D在构造期即创建完整、合法的对象30. 构造注入的优点包括(BCD)。选三项A把创建完整、合法对象的工作给构造函数外的其他方法来做B避免了编写繁琐的setter方法,所有的依赖关系都在构造函数中设定C由于不存在setter方法,而是在构造时由容器一次性设定依赖关系,因而组件在创建之后即处于相对不变的稳定状态,无须担心上层代码在调用过程中执行setter方法时破坏组件之间的依赖关系D通过构造子注入,可以在构造函数中决定依赖关系的注入顺序31. Spring包装Hibernate之后,能够来保存数据的方法有(AC)A)saveB)loadC)saveOrUpdateD)merge32. Spring包装Struts的动作说法正确的是(BD)(选择两项)A)Action配置的type属性还是指向自己的Action类B)Action配置的type属性不需要指向自己的Action类,但是Action要在Spring配置文件中配置C)Action配置的type属性一定要指向Spring提供的代理类,但Action要在Spring配置文件中配置D)Action配置的type属性可以不指向Spring提供的代理类,可以利用Spring提供的中央处理器来处理,但是Action要在Spring配置文件中配置33. Spring中提供通过Web容器来启动Spring框架的类有(AC)(选择两A)ContextLoaderListener B)ServletLoaderListnerC)ContextLoaderServlet D)ActionServlet34. 下面关于ApplicationContext的说法正确的是(BC)(选择两项)A)是BeanFactory的实现类 B)是一个接口C)提供一些BeanFactory的扩展功能 D)功能同BeanFactory一样35. 下面是BeanFactory的实现类的是(AC)(选择两项)A)ClassPathXmlApplicationContextB)ApplicationContextC)FileSystemXmlApplicationContextD)以上都是37. 下面关于AOP的理解正确的是(BC)(选择两项)A能够降低组件之间的依赖关系B将项目中的公共的问题集中解决,减少代码量,提高系统的可维护性CAOP是面向对象的代替品DAOP不是面向对象的代替品,是面向对象很好的补充38. 看下面的代码,说法正确的是(AD)(选择两项)accpA)必须要有一个接受字符串的构造方法B可以没有接受一个字符串的构造方C)这个类有且只能有一个只接受一个字符串的构造方法D)这个类可以有多个构造方法,但是一定要有一个只接受一个字符串的构造方法39. 实现AOP代理时,下面说法正确的是(ACD)。选三项ASpring默认使用用于接口的JDK动态代理 BSpring只能使用JDK动态代理CSpring也可以使用CGLIB代理 DSpring主要使用JDK动态代理二、什么是IOC?它们的作用是什么?举例说明。控制反转,意思就是将实体类的对象生成方式在配置文件中完成在spring框架中,它贯穿与整个系统,对象的生成都在配置文件中假如 Invoker 类包含一个字段为 ChildA a,ChildA 类包含着 CallMe() 方法那么在Invoker内部,任何一个调用 a.CallMe() 的方法都是在直接调用(控制)着 ChildA 类。这就叫“主动控制”调用谁的决定权在 Invoker。因为Invoker直接依赖于ChildA类,而假如有个ChildB类提供相同的方法 CallMe(),但其方法内部实现不同,那么要换掉ChildB类的话,则需要将Invoker类的字段a的声明 ChildA 改为 ChildB.这在设计模式中是不合适的。设计模式中的做法呢,就是把ChildA ChildB ChildC. 抽象成一个接口,即IChild,同样由Invoker调用方法CallMe()。但此时Invoker的依赖就变了.它依赖的是接口!控制由典型的 实现-实现 变成了实现-接口(或者可以 接口-接口只需把Invoker类抽象成IInvoker接口即可)。这就叫“反转控制”调用谁的决定权在 IChild(是啊,由它来决定到底该调用ChildA 还是 ChildB)这就出来一个问题了,谁来作Invoker.a?是ChildA?ChildB?还是其他集成自IChild的类?这就是IoC要考虑的问题了。ApplicationContext ctx = new ClassPathXmlApplicationContext(com/applicationContext.xml);Invoker.a = (IChild)ctx.getBean(ChildA); com/applicationContext.xml 的内容包括使用 ChildA 和 ChildB 的方法,代码ChildA来充当 Invoker.a 的实例。三、什么是AOP?它们的作用是什么?举例说明。AOP就是面向切面(横向)编程。一般程序都是按流程来执行(如IF,循环等),这属于纵向编程。那么横向编程呢,指的就是流程外的部分,如“日志”、“持久化”、“事务”等等方面的。就拿日志举例吧。用过C+的都明白,每个函数都应该用到形如LOG这样的宏来作日志操作。尤其是函数的进入和退出,这其中还要有函数的执行时间计算等等操作,假如统统写到每个函数中去,会造成代码冗余.AOP的本质无非就是消除多余代码,并让程序设计人员把更多的时间和精力关注到代码逻辑,而不是投入到像“日志”、“持久化”这样重复、枯燥、易生漏洞又不易管理(想想每个函数都要有相同的日志代码.)的代码上.未用AOP的这段代码public int Add(int a, int b) int result; LOG_START; result = a + b; LOG_END; return result;用过AOP后的这段代码:public int Add(int a, int b) return a

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论