Spring 考试错题分析

解析:Spring是一个轻量级的IOC AOP窗器框架

 2.

.

解析:在Spring 里,创建被调用者实例的工作通常由Spring 容器来完成,然后注入调用者,而不是由编程人员用new关键字实现

3.

解析:Advice是切面的具体实现,某个特定连接点上执行的动作

4.

 解析:我们说AOP是OOP的一种补充而不是替代、

5.

解析:此题目考查的AOP的作用。

为什么不选A,因为降低模块之间的耦合度也是AOP的作用之一 为什么不选B,因为使系统容易扩展也是AOP作用之一

为什么选C,因为C选项不属于AOP的作用,另外,AOP是从程序运行角度考虑程序的结构

为什么不选D,因为更好的代码复用也是AOP作用之一

6.

解析:,Spring提供两种方式实现AOP切面的织入:一种是XML配置的方式,一种是annotation注解的方式

7.

解析:Spring配置文件可以有多个,并且名字可以修改的;因此ad是错误的,bc正确;

8.

解析:此题目考查的是Spring-依赖注入根据不同依赖注入方式的特点及比较。ref 指定了属性对BeanFactory中其他Bean的引用关系。 <property> 用于设置一个属性,如果没有属性赋值和对象引用,bean标签本身是可以单独使用。因此选项C、D的说法是错误的,正确的结果为A、B。

9.

解析:此题目考察的是Spring AOP中的通知 A 不正确。若系统抛出异常,则不会触发”返回后通知”,

此答案不正确 B 正确。“后通知”也称最终通知, 无论方法如何结束都会触发的一种通知类型

C 不正确。跟方法有没有返回值无关

D 不正确。理由参考BC

10.

解析:ctx.getBean("user1");此方法返回Object对象,需要强转成指定类型,singleton是默认采用的作用域,即Spring默认为每一个Bean仅创建一个实例,故bd是错的.

11.

解析:对象存在多个构造方法,当参数列表数目相同而类型不同的时候, 容器无法区分应该使用哪个构造方法来实例化对象, 或者构造方法可能同时传入最少两个类型相同的对象 可以使用index或type来实现注入index从0开始, index与type二选一

12.

解析:此题目考查的是Spring依赖注入的两种不同方式的对比。 A,B,D均描述正确。选项B指setter方法数量多,而构造函数仅靠重载实现。构造注入在对象实例化时就得到所依赖的对象,便于在对象的初始化方法中使用依赖对象,所以选项C是错误的

13.

解析:此题目考查的是使用设值注入实现依赖注入。 为什么不选A,Spring为Bean的属性赋值是通过调用属性setter方法实现的,这种做法被称为&ldquo;设值注入&rdquo;,而非直接为属性赋值,若属性名为who,但是setter方法名称为setSomebody(),Spring配置文件中应写成name=&rdquo;somebody&rdquo;而非name=&rdquo;who&rdquo;,因此选项A的解释是错误的。 为什么不选D,因为在Spring配置文件中,<bean>元素通常使用id属性为其指定一个用来访问的唯一名称,class,表示定义的Bean实例的类型,因此选项D是错误的。 因此答案选择B、C

原文地址:https://www.cnblogs.com/a157/p/8548115.html