Spring核心知识点笔试题及答案.docx

  1. 1、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
  2. 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  3. 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多

Spring核心知识点笔试题及答案

一、选择题(每题4分,共20分)

下列关于SpringBean作用域的说法,错误的是()

A.singleton是默认作用域,容器中仅存在一个Bean实例

B.prototype作用域下,每次获取Bean都会创建新实例

C.request作用域的Bean,在整个HTTP请求期间仅创建一次

D.session作用域的Bean,可在多个浏览器会话间共享

SpringAOP中,用于“在目标方法执行后,无论是否抛出异常都执行”的通知类型是()

A.@BeforeB.@AfterC.@AfterReturningD.@AfterThrowing

下列哪种依赖注入方式,更适合依赖项较多的场景()

A.构造器注入B.setter注入C.字段注入(@Autowired直接注在字段上)D.接口注入

关于Spring事务传播行为,若当前没有事务,就新建一个事务;若已有事务,就加入当前事务,该传播行为是()

A.REQUIREDB.REQUIRES_NEWC.SUPPORTSD.NOT_SUPPORTED

下列哪个注解,不能用于将类标识为Spring管理的Bean()

A.@ComponentB.@ServiceC.@ControllerD.@Autowired

二、简答题(每题10分,共40分)

简述SpringIOC容器的核心作用,以及BeanFactory和ApplicationContext的主要区别。

说明SpringBean的完整生命周期(从创建到销毁),并列举2种初始化阶段的实现方式。

实际开发中,为什么不推荐用“字段注入(@Autowired注在字段上)”?举一个例子说明可能出现的问题。

SpringAOP的动态代理有哪两种实现方式?分别适用于什么场景?它们的核心区别是什么?

三、应用题(每题20分,共40分)

请编写一个基于Spring注解的AOP切面,实现“记录Service层所有方法的调用日志”功能,要求日志包含:方法名、入参列表、调用时间。

现有一个用户注册的Service方法(如下),需保证“用户插入数据库”和“发送注册短信”两个操作要么同时成功,要么同时失败。请补充代码,通过Spring事务实现该需求,并说明关键配置的作用。

@Service

publicclassUserService{

@Autowired

privateUserMapperuserMapper;

@Autowired

privateSmsServicesmsService;

//需补充事务配置的方法

publicvoidregister(Useruser){

//1.插入用户到数据库

userMapper.insert(user);

//2.发送注册成功短信

smsService.sendRegisterSms(user.getPhone());

}

}

答案部分

一、选择题

D(session作用域的Bean仅在当前浏览器会话内有效,不同会话不共享)

B(@After是最终通知,无论方法成功或异常都会执行;@AfterReturning仅成功后执行,@AfterThrowing仅异常时执行)

A(构造器注入强制依赖项在Bean创建时就初始化,避免后续使用NPE;setter注入适合可选依赖,依赖多则setter冗余)

A(REQUIRES_NEW是无论当前有无事务,都新建事务;SUPPORTS是有事务则加入,无则不使用事务)

D(@Autowired是用于注入Bean,而非标识Bean;前三者是标识Bean的注解,分别对应通用组件、服务层、控制层)

二、简答题

IOC容器核心作用:管理Bean的创建、依赖注入、生命周期,将对象的创建和依赖关系从代码中剥离,降低耦合。

BeanFactory与ApplicationContext区别:

BeanFactory是最基础的IOC容器,仅提供Bean的获取和依赖注入,延迟初始化(获取Bean时才创建);

ApplicationContext是BeanFactory的子类,除基础功能外,还支持国际化、事件发布、资源加载(如@Value读配置),立即初始化(容器启动时就创建所有singletonBean)

文档评论(0)

151****9429 + 关注
实名认证
内容提供者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档