Spring面试题
1.下面关于“依赖注入”的说法,错误的是( D )
A. 将组件间的依赖关系采取配置文件的方式管理,而不是硬编码在代码中
B. 降低了组件间的耦合,使程序更容易维护和升级
C. 促进了“面向接口编程”,使构建大规模程序更轻松
D. 需要定义大量接口,增加编码复杂度
2.关于Spring说法错误的是( B )
A. Spring是一个轻量级框架
B. Spring颠覆了已经有较好解决方案的领域,如Hibernate
C. Spring可以实现与多种框架的无缝继承
D. Spring的核心机制是“依赖注入”
3.(多选)关于spring的说法正确的是( BD )
A. Spring是一个重量级框架
B. Spring是一个轻量级框架
C. Spring是一个入侵式框架
D. Spring是一个IOC和AOP容器
4.下面关于依赖注入说法正确的是( A )
A. 依赖注入的目标是在代码之外管理程序组件间的依赖关系
B. 依赖注入即“面向接口”编程
C. 依赖注入是面向对象技术的代替品
D. 依赖注入的使用会增大层序的规模
5.下面关于AOP的说法错误的是( C )
A. AOP将散落在系统中的“横切逻辑”进行集中实现
B. AOP有助于提高系统的可维护性
C. AOP已经表现出了将要代替面向对象的趋势
D. AOP是一种设计模式,Spring提供了一种实现
6.(多选)下面关于IOC的理解,正确的是( AB )
A. IOC就是控制反转
B. 对象被动接受依赖类
C. 对象主动去找依赖类
D. 一定要用接口
7.关于AOP的说法错误的是( B )
A. 首先要编写增强代码,前置增强可以通过MethodBeforeAdvice接口实现
B. Spring AOP采用拦截方法调用的方式实现,可以在调用的前、后等位置进行拦截
C. Spring AOP基于代理模式
D. Spring AOP可以在不对目标做任何修改的情况下增加程序功能
8.(多选)关于AOP的理解,正确的是( BC )
A. 面向纵向的开发
B. 面向横向的开发
C. AOP关注是面
D. AOP关注是点
9.Spring配置文件中有如下代码片段,则下面的说法正确的是( C )
<bean id=”printer” class=”cn.jbit.spring.Printer”>
<property name=”color” value=”#fff”/>
</bean>
A. printer中一定有public String color
B. printer中一定有private String color
C. printer中一定有public void setColor(String color)
D. printer中一定有private void setColor(String color)
10. (多选)下面是Spring依赖注入的方式是( AB )
A. set方法注入
B. 构造方法的注入
C. get方法的注入
D. 接口的注入
11. (多选)下面关于在Spring中配置Bean的id属性的说法正确的是( BD )
A. id属性是必须,没有id属性就会报错
B. id属性不是必须的,可以没有
C. id属性的值可以重复
D. id属性的值不可以重复
12.下面关于构造注入优点说法错误的是( C )
A. 构造期即创建一个完整、合法的对象
B. 不需要写繁琐的setter方法的
C. 对于复杂的依赖关系,构造注入更简洁,直观
D. 在构造函数中决定依赖关系的注入顺序
13. (多选)下面关于Spring配置文件说话正确的是(BC )
A. Spring配置文件必须叫applicationContext.xml
B. Spring配置文件可以不叫applicationContext.xml
C. Spring配置文件可以有多个
D. Spring配置文件只能有一个
14. (多选)下面关于AOP的理解正确的是( BD )
A. 能够降低组件之间的依赖关系
B. 将项目中的公共的问题集中解决,减少代码量,提高系统的可维护性
C. AOP是面向对象的代替品
D. AOP不是面向对象的代替品,是面向对象很好的补充