下载本文档
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、Spring 笔试考试题目 考生姓名: 考生班级: 评分: 一:填空 (总分 20 分)1.1: Spring 的框架是一个 轻量级容器,以 _IOC模式作为核心,从而可以实现应用程序组件的松散耦合 结构,让应用程序组件可以容易进行测试。1.2: Spring中实现IoC模式的方法都有_注入依赖,_java 注解_,schemOKM 方式serviceLocator。1.3:Spring中基于Wet的ApplicationContext下可以用到的特有的Bean的作用域都有request,_session , _globalsession 。1.4:Spring 中的AOF术语的全称是面向切面
2、编程 _(中文)、aspect-OrientedProgramming _ (英文),在 Spring中它的实现机制是采用 动态代理 实现的。1.5 :在Spring AOP中,Advice(增强)被应用至对象之上的过程称之为 _缝合 (中英文都填),其选择时机有几个时间点,分别是: 编译时期、 _类别加载 时期、和 _执行时期。1.6 :配置Spring中的AspectJ时,需要配置_<aop-aspecrJ-autoproxy>_ 标签,以便 AOP匡架自动使用增强; 该标签有一个 proxy-target-class 属性, 默认为 false ,表示使用 _jdk 动态代理
3、治入增强代理方式,当配置为 <aop:aspectj-autoproxy proxy-target-class=_true/> 时,表示使用 _cglib 动态代理技术治入增强 代理方式。1.7:在 Spring AOP 中,我们可以通过 pointcut 注解对切点表达式进行命名。1.8: Spring AOP 中,在“进入”连接点的情况下,_最高优先级的增强会先执行;在“退出”连接点的情况下, 最高 优先级的增强会最后执行; 对于定义在相同切面的增强, 根据 声明的顺序 来确定执行顺序。1.9 :使用 Schema XML配置 Spring AOP 时,<aop:conf
4、ig> , <aop:aspect> 和<aop:advisor> ,三者在配置有先后顺序要 求 , 要 求 的 顺 序 分 别 是 :<aop:config>,<aop:advisor>,<aop:aspect> 。1.10 : Spring 事物管理中,重要的三个概念分别是_transactiondefinition_ ,transactionStatus , platformtransactiomanger 。二:选择 ( 注意:单选或者多选混选 )( 总分 20 分 )2.1 :可以实现 IoC (Inversion o
5、f Control)模式的方法都有哪些? ABCDA:依赖注入(Dependency Injection)B: Service LocatorC: Java 注解D: Schema XML 方式2.2 : Spring中Bean的自动装配都有哪些选择?ABCDA:By TypeB:By NameC:NoD:Constructor方式E:Autodetect方式2.3 :Spring 中 ApplicationContext 能够用到的 Bean 的作用域都有哪些?_ _ABCA: Singleton B:Prototype C:Session D:Response2 .4 :我们学习过的 Ab
6、stract Factory , Prototype , Singleton 模式按照设计模式的分类都属于哪种 _ADA:创建型设计模式B:结构型设计模式C:行为型设计模式D:对象范围的设计模式2.5 : Bean的基本配置中,如果有诸如List , Set, Map和Properties 的属性,那么可以通过下述哪些对应的标签来配置? _ABCDA:<list/>B:<set/>C:<map/>D:<props/>2.6 : Spring的AOP的动态代理机制都有哪些? ABA: CGLib 库B: JDK动态代理C: Proxy 代理D: A
7、uto代理2.7 : Spring中的AspectJ切点表达式函数都有哪些? ABC A:方法切点函数B:方法入参切点函数C:目标类切点函数D:代理类切点函数2.8:说明下面切面类的增强实施到业务方法 int foo(String name) 时,其增强各自执行后结果是什么?Aspectpublic class AspectWithMultipleAdviceDeclarations Pointcut("execution(* foo(.)")public void fooExecution() Before("fooExecution()")publi
8、c void doBeforeOne() / .Before("fooExecution()")public void doBeforeTwo() / .AfterReturning("fooExecution()")public void doAfterOne() / .AfterReturning("fooExecution()")public void doAfterTwo() / . ebadc( 注意顺序 )A:fooB: doBeforeTwoC:doAfterTwoD:doAfterOneE: doBeforeOne2.
9、9 :下面哪些不支持切点中的通配符,如+, .,和 *? _abcdA:args()B:within()C:target()D:annotation()2.10 :下面哪个是 Spring AOP 中的引介增强?E_A: BeforeB: AfterReturningC: AroundD: AfterThrowingE: 三:判断对错 ( 总分 30 分)3.1 : Spring 中,我们可以选择 DBCP,3.2 :在 Bean 的基本配置中,如果某个 <bean class="ExampleBean"> <property name="ema
10、il">null</property> </bean3.3 :在配置 Bean 时,内部 Bean 中的DeclareParentsC3P0来配置数据源。(T )Bean 属性要默认为空,我们可以利用将该属性设置为( F ) singleton标记及id或name属性将不会被忽略,内部总是 prototype 模式的。同时将内部 bean 注入到包含该内部 bean 之外的 bean 也是可能的。3.4 :下面配置的 Bean, Spring 会在启动时, IoC 容器默认会将该 bean 提前进行实例化。<bean id="lazy"
11、; class="com.foo.ExpensiveToCreateBean"lazy-init="true"<!- various properties here. -> </bean>(3.5 : Spring中配置的Bean,要么只能都用 Autowire自动装配,要么都不用3.6 :在Spring中,大多数配置的 Bean都是Prototype 类型的,并且 Spring生命周期的。(3.7 :切点表达式中的通配符“null 来实现;如bean 总是匿名的且它们(F )FAutowire 自动装配。 ( 会对 Protot
12、ype F+”:其含义表示按类型匹配指定类的所有类,仅能跟在类名后面。3.8 : Spring的AOP中,用注解表示的后置增强是After。(3.9 : Spring的AOP中,定义在不同的切面里的两个增强都需要在一个相同的连接点中运行,否则执行的顺序是未知的。(3.10 :Spring AOP 中, Advisor 是切点和增强的复合体,它可以包含多个切点和增强。类型的)(F)F )Bean 负责其整个T )那么除非我们显式指定,T )( F )3.11 : Spring的AOP中,切点绑定增强方法时,是按名字匹配的,但是在绑定连接点时,是按参数顺序匹配的。( T )3.12 :使用Spri
13、ng统一的DAC异常体系时,如果访问数据资源时失败,如无法获取数据连接,无法获取Hibernate的会话等,我们可以捕获 ConcurrencyFailureException 类型的异常。 ( F )3.13 :Spring 中,如果我们的持久层采用 Spring 提供的模板类来实现, 为了要使持久层的方法是多线程安全的, 我们可以选择继承 Spring 提供的支持类 xxxSupport 。( F )3.14:Spring AOP 中,不仅支持方法上的连接点,还支持属性上的连接点。( F )3.15 : Spring中,持久层、业务层的Bean一般是加载到 Spring容器中的根容器,而为
14、融合Struts框架设计的ActionBean一般是加载到子容器中的;父容器是可以访问子容器中的Bean元素的。(F )四:问答题 ( 总分 20 分 )4.1 :请阐述Spring框架和EJB相比较,各自的优缺点?Spring 核心是依赖注入模式spring 可以随时测试EJB 测试非常麻烦EJB3,0 是一个标准的框架4.2 :在 Spring IoC 核心模式中,试比较三种推荐的依赖注入方式的相同点和不同点?Spring 的4.3 :请解释你所理解的 AOP中的如下概念:增强、切入点、连接点、切面,并说明它们之间的关系。以及 AOP!架是如何用这些概念搭建并实现的,请阐述你的理解?4.4
15、 :说明你Spring中Bean的各种生命周期的理解?4.5 :这里为下面的业务类方法编写了两个切面类,每个切面类中分别定义了一些增强方法,请完成下面的问题。 /业务类定义package com.cstp;public class NaiveWaiter impleme nts Waiterpublic void greetTo(Stri ng clie ntName)System.out.pri ntl n( "NaiveWaiter:greet to "+clie ntName+".");public void serveTo(String clie
16、ntName, int times)System.out.pri ntln ("NaiveWaiter:servi ng "+clie ntName+” +times+".");/第一个切面类的定义package com.cstp.aspectj.aspectj;import org.aspectj .Ian g.a nno tati on. Aspect;import org.aspectj .Ian g.a nno tati on .Before;Aspectpublic class PreGreet in gAspectBefore("e
17、xecutio n( *greetTo(.)")|public void beforeGreet in g()System.out.pri ntl n("How are you?");/第二个切面类的定义package com.cstp.aspectj.adva need;import org.aspectj .Ian g.a nno tati on. Aspect;import org.aspectj .Ian g.a nno tati on .Before;Aspectpublic class BeforeAspectBefore("target(c
18、om.cstp.NaiveWaiter) && args (n ame, num,.)")public void bindJoinPoin tParams(i nt nu m,Stri ng n ame)System.out.println(”-bindJoinPointParams-");System.out.pri ntln (" name:" + n ame);System.out.pri ntl n(" nu m:" + nu m);System.out.println(”-bindJoinPointParam
19、s-");/下面是定义的 Spring配置文件beans.xml<?xml versio n="1.0" en codi ng="UTF-8"><bea ns xml ns="/schema/bea ns"xml ns:xsi="/2001/XMLSchema-i nsta nee"xml ns:aop="/schema/aop&q
20、uot;xsi:schemaLocatio n="/schema/bea ns/schema/bea ns/spri ng-bea ns-2.0.xsd/schema/aop/schema/aop/spri ng-aop-2.0.xsd"><bean id="waiter" class="com.cstp
21、.NaiveWaiter"/><bea n class="com.cstp.aspectj.aspectj.PreGreet in gAspect"/><bean class= ” com.cstp.aspectj.advanced.BeforeAspect” /></beans>/下面是测试的代码package com.cstp.aspectj.example;import org.spri ngframework.aop.aspectj.a nno tati on. AspectJProxyFactory;import
22、 org.cstp.NaiveWaiter;import org.cstp.Waiter;public class Testpublic static void main(String args)ApplicationContext tx=new ClassPathXmlApplicationContext(“com/cstp/schema/beans.xml ” );NaiveWaiter proxy=tx.getBean(“waiter ” );proxy.greetTo("Joh n");proxy.serveTo("Joh n",10);请回答下
23、面问题:1) .首先,请填写上面的空白(1)处。2) .请写出测试代码运行后的结果。3) .如果我们要把第一个切面类采用Schema XML方式来完成,请写出该种方式的配置文件,只需要写出<aop:co nfig>中配置增强和切点的方式。<aop:config> </aop:config>五:编程 ( 总分 10 分 )5.1 :下面是一个需要进行事务管理的业务类,package com.cstp.service;import com.cstp.dao.LoginLogDao;import com.cstp.dao.UserDao;import com.cs
24、tp.domain.User;public class UserServiceImpl implements UserService private UserDao userDao; / 注入接口对象private LoginLogDao loginLogDao; / 注入接口对象public void setUserDao(UserDao userDao)this.userDao=userDao;public void setLoginLogDao(LoginLogDao loginLogDao) this.loginLogDao=loginLogDao;public boolean has
25、MatchUser throws Exception(String userName, String password)int matchCount=userDao.getMatchCount(useName, password);return matchCount>0;public User findUserByUserName throws Exception (String userName)return userDao.findUserByUserName(userName);public void loginSuccess throws Exception (User user
26、) user.setCredits(5+user.getCredits(); LoginLog loginLog=new LoginLog(); loginLog.setUserId(user.getUserId(); loginLog.setIp(user.getLastIp();loginLog.setLoginDate(user.getLastVisit();userDao.updateLoginInfor(user);loginLogDao.insertLoginLog(loginLog);其中 hasMatchUser() , findUserByUserName() , loginSuccess() 需要的事务管理需求描述如下:hasMatchUser() :只读事务,事务传播方式必须有事务管理,隔离级别是不能出现脏读,出现 SQLException 需要 回滚。findUserByUserName() :只读事务,事务传播方式可以没有事务管理,隔离级别是不能出现
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 国际商品代理装卸合同
- 电视剧特技演员劳动合同
- 影印和装订服务合同
- 应收账款质押合同借款方示范文本
- 简单版小产权房屋买卖合同格式
- 第19课 大雁归来 第1课时 公开课一等奖创新教学设计-【课堂无忧】新课标同步核心素养课堂
- 《气动成型》课件
- 25 挑山工 表格式 公开课一等奖创新教学设计
- 第五单元《乡土中国》调查汇报会 公开课一等奖创新教案统编版高中语文必修上册
- 望诊在护理中的作用
- 药用辅料生产质量管理规范
- 【小学语文中高年级单元整体设计的实践探究2000字(论文)】
- 全国清华大学版信息技术七年级下册第2单元第4课《动物的力量-认识高效运算的函数》教学设计
- 2023年江西飞行学院招聘考试真题
- 2024入团积极分子入团考试题库(含答案)
- 2024收购稻草合同范本
- QBT 2739-2005 洗涤用品常用试验方法 滴定分析 (容量分析)用试验溶液的制备
- 气胸护理查房2021
- 五十六个民族之乌孜别克族介绍
- 国家开放大学《计算机网络》课程实验报告实验六-计算机网络综合性实-
- 售后服务方案及运维方案
评论
0/150
提交评论