Spring笔试考试题目

上传人:沈*** 文档编号:141035947 上传时间:2022-08-23 格式:DOC 页数:7 大小:92.01KB
收藏 版权申诉 举报 下载
Spring笔试考试题目_第1页
第1页 / 共7页
Spring笔试考试题目_第2页
第2页 / 共7页
Spring笔试考试题目_第3页
第3页 / 共7页
资源描述:

《Spring笔试考试题目》由会员分享,可在线阅读,更多相关《Spring笔试考试题目(7页珍藏版)》请在装配图网上搜索。

1、Spring笔试考试题目考生姓名:_ 考生班级:_ 评分:_一:填空(总分20分)1.1: Spring 的框架是一个_轻量级_容器,以_IOC_模式作为核心,从而可以实现应用程序组件的_松散耦合 _结构,让应用程序组件可以容易进行测试。1.2: Spring中实现IoC模式的方法都有_注入依赖_, _java注解_, _schema XML方式 _, _serviceLocator_。1.3: Spring中基于Web的ApplicationContext下可以用到的特有的Bean的作用域都有_request _, _session _, _globalsession _。1.4: Spri

2、ng中的AOP术语的全称是_面向切面编程_(中文)、_aspect-OrientedProgramming_(英文),在Spring中它的实现机制是采用_动态代理_实现的。1.5:在Spring AOP中,Advice(增强)被应用至对象之上的过程称之为_缝合_(中英文都填),其选择时机有几个时间点,分别是:_编译_时期、_类别加载_时期、和_执行_时期。1.6:配置Spring中的AspectJ时,需要配置_标签,以便AOP框架自动使用增强; 该标签有一个proxy-target-class属性,默认为_false_,表示使用_jdk动态代理治入增强_代理方式,当配置为时,表示使用_cgli

3、b动态代理技术治入增强_代理方式。1.7:在Spring AOP中,我们可以通过_pointcut_注解对切点表达式进行命名。1.8:Spring AOP中,在“进入”连接点的情况下,_最高_优先级的增强会先执行;在“退出”连接点的情况下,_最高_优先级的增强会最后执行;对于定义在相同切面的增强,根据_声明的顺序_来确定执行顺序。1.9:使用Schema XML配置Spring AOP时, 和,三者在配置有先后顺序要求,要求的顺序分别是:_, _,_。1.10:Spring事物管理中,重要的三个概念分别是_transactiondefinition_ ,_transactionStatus _

4、,_platformtransactiomanger _。二:选择(注意:单选或者多选混选)(总分20分)2.1:可以实现IoC (Inversion of Control) 模式的方法都有哪些?_ABCD_A:依赖注入(Dependency Injection)B:Service LocatorC:Java 注解D:Schema XML方式2.2:Spring中Bean的自动装配都有哪些选择? _ABCD_A:By TypeB:By NameC:NoD:Constructor方式E:Autodetect方式2.3:Spring中ApplicationContext能够用到的Bean的作用域都

5、有哪些? _ABC_A:SingletonB:PrototypeC:SessionD:Response2.4:我们学习过的Abstract Factory,Prototype,Singleton模式按照设计模式的分类都属于哪种? _AD_A:创建型设计模式 B:结构型设计模式C:行为型设计模式D:对象范围的设计模式2.5:Bean的基本配置中,如果有诸如List,Set,Map和Properties的属性,那么可以通过下述哪些对应的标签来配置? _ABCD_A:B:C:D:2.6:Spring的AOP的动态代理机制都有哪些? _AB_A:CGLib库B:JDK动态代理C:Proxy代理D:Au

6、to代理2.7:Spring中的AspectJ切点表达式函数都有哪些? _ABCD_A:方法切点函数B:方法入参切点函数C:目标类切点函数D:代理类切点函数2.8:说明下面切面类的增强实施到业务方法int foo(String name)时,其增强各自执行后结果是什么?Aspectpublic class AspectWithMultipleAdviceDeclarations Pointcut(execution(* foo(.) public void fooExecution() Before(fooExecution() public void doBeforeOne() / . Be

7、fore(fooExecution() public void doBeforeTwo() / . AfterReturning(fooExecution() public void doAfterOne() / . AfterReturning(fooExecution() public void doAfterTwo() / . _ebadc_(注意顺序)A:fooB:doBeforeTwoC:doAfterTwoD:doAfterOneE:doBeforeOne2.9:下面哪些不支持切点中的通配符,如+, ., 和*? _abcd_A:args()B:within()C:target()

8、D:annotation()2.10:下面哪个是Spring AOP中的引介增强? _E_A:BeforeB:AfterReturningC:AroundD:AfterThrowingE:DeclareParents三:判断对错(总分30分)3.1:Spring中,我们可以选择DBCP,C3P0来配置数据源。 ( T )3.2:在Bean的基本配置中,如果某个Bean属性要默认为空,我们可以利用将该属性设置为null来实现;如null/bean ( F )3.3:在配置Bean时,内部Bean中的singleton标记及id或name属性将不会被忽略,内部bean总是匿名的且它们总是proto

9、type模式的。同时将内部bean注入到包含该内部bean之外的bean也是可能的。(F )3.4:下面配置的Bean,Spring会在启动时,IoC容器默认会将该bean提前进行实例化。 (F )3.5:Spring中配置的Bean,要么只能都用Autowire自动装配,要么都不用Autowire自动装配。( F )3.6:在Spring中,大多数配置的Bean都是Prototype类型的,并且Spring会对Prototype类型的Bean负责其整个生命周期的。 ( F )3.7:切点表达式中的通配符“+”:其含义表示按类型匹配指定类的所有类,仅能跟在类名后面。( T ) 3.8:Spri

10、ng的AOP中,用注解表示的后置增强是After。 ( F )3.9:Spring的AOP中,定义在不同的切面里的两个增强都需要在一个相同的连接点中运行,那么除非我们显式指定,否则执行的顺序是未知的。 ( T )3.10:Spring AOP中,Advisor是切点和增强的复合体,它可以包含多个切点和增强。( F )3.11:Spring的AOP中,切点绑定增强方法时,是按名字匹配的,但是在绑定连接点时,是按参数顺序匹配的。 ( T )3.12:使用Spring统一的DAO异常体系时,如果访问数据资源时失败,如无法获取数据连接,无法获取Hibernate的会话等,我们可以捕获Concurren

11、cyFailureException类型的异常。 ( F ) 3.13:Spring中,如果我们的持久层采用Spring提供的模板类来实现,为了要使持久层的方法是多线程安全的,我们可以选择继承Spring提供的支持类xxxSupport。 ( F )3.14:Spring AOP中,不仅支持方法上的连接点,还支持属性上的连接点。 ( F )3.15:Spring中,持久层、业务层的Bean一般是加载到Spring容器中的根容器,而为融合Struts框架设计的Action Bean一般是加载到子容器中的;父容器是可以访问子容器中的Bean元素的。 ( F ) 四:问答题(总分20分)4.1:请阐

12、述Spring框架和EJB相比较,各自的优缺点?Spring核心是依赖注入模式spring可以随时测试EJB测试非常麻烦EJB3,0是一个标准的框架4.2:在Spring IoC核心模式中,试比较三种推荐的依赖注入方式的相同点和不同点?4.3:请解释你所理解的AOP中的如下概念:增强、切入点、连接点、切面,并说明它们之间的关系。以及Spring的AOP框架是如何用这些概念搭建并实现的,请阐述你的理解?4.4:说明你Spring中Bean的各种生命周期的理解?4.5:这里为下面的业务类方法编写了两个切面类,每个切面类中分别定义了一些增强方法,请完成下面的问题。/业务类定义package com.

13、cstp;public class NaiveWaiter implements Waiterpublic void greetTo(String clientName)System.out.println(NaiveWaiter:greet to +clientName+.);public void serveTo(String clientName, int times)System.out.println(NaiveWaiter:serving +clientName+”+times+.);/第一个切面类的定义package com.cstp.aspectj.aspectj;import

14、 org.aspectj.lang.annotation.Aspect;import org.aspectj.lang.annotation.Before;Aspect public class PreGreetingAspectBefore(execution(*greetTo(.)public void beforeGreeting()System.out.println(How are you?);/第二个切面类的定义package com.cstp.aspectj.advanced;import org.aspectj.lang.annotation.Aspect;import org

15、.aspectj.lang.annotation.Before;Aspectpublic class BeforeAspectBefore(target(com.cstp.NaiveWaiter) & args(name, num, .)public void bindJoinPointParams(int num,String name)System.out.println(-bindJoinPointParams-);System.out.println(name: + name);System.out.println(num: + num);System.out.println(-bin

16、dJoinPointParams-);/下面是定义的Spring配置文件beans.xml_(1) /下面是测试的代码package com.cstp.aspectj.example;import org.springframework.aop.aspectj.annotation.AspectJProxyFactory;import org.cstp.NaiveWaiter;import org.cstp.Waiter;public class Testpublic static void main(String args)ApplicationContext tx=new ClassPat

17、hXmlApplicationContext(“com/cstp/schema/beans.xml”);NaiveWaiter proxy=tx.getBean(“waiter”);proxy.greetTo(John);proxy.serveTo(John,10);请回答下面问题:1).首先,请填写上面的空白(1)处。2).请写出测试代码运行后的结果。3).如果我们要把第一个切面类采用Schema XML方式来完成,请写出该种方式的配置文件,只需要写出中配置增强和切点的方式。 五:编程(总分10分)5.1:下面是一个需要进行事务管理的业务类,package com.cstp.service;

18、import com.cstp.dao.LoginLogDao;import com.cstp.dao.UserDao;import com.cstp.domain.User;public class UserServiceImpl implements UserServiceprivate UserDao userDao; /注入接口对象private LoginLogDao loginLogDao; /注入接口对象public void setUserDao(UserDao userDao)this.userDao=userDao;public void setLoginLogDao(Lo

19、ginLogDao loginLogDao)this.loginLogDao=loginLogDao;public boolean hasMatchUser throws Exception(String userName, String password)int matchCount=userDao.getMatchCount(useName, password);return matchCount0;public User findUserByUserName throws Exception (String userName)return userDao.findUserByUserNa

20、me(userName);public void loginSuccess throws Exception (User user)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.insertLoginL

21、og(loginLog);其中hasMatchUser(),findUserByUserName(),loginSuccess()需要的事务管理需求描述如下:hasMatchUser():只读事务,事务传播方式必须有事务管理,隔离级别是不能出现脏读,出现SQLException需要回滚。findUserByUserName():只读事务,事务传播方式可以没有事务管理,隔离级别是不能出现脏读,出现任何Exception不需要回滚。loginSuccess():可写事务,事务传播方式是强制方式,隔离级别是不能出现脏读,出现任何Exception需要回滚。(1) 写出该业务类使用注解来实现事务管理的完整形式。(2) 写出该业务类使用Schema XML方式来实现事务管理的完整形式(填入下面即可)。

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

copyright@ 2023-2025  zhuangpeitu.com 装配图网版权所有   联系电话:18123376007

备案号:ICP2024067431-1 川公网安备51140202000466号


本站为文档C2C交易模式,即用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有。装配图网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知装配图网,我们立即给予删除!