Spring50道测试题带答案

1.下列关于Spring特性中IOC描述错误的是( A )。
A.IOC就是指程序之间的关系由代码直接操控
B.所谓“控制反转”是指控制权由应用代码转到外部容器,即控制权的转移
C.IOC将控制权创建的职责搬进了框架中,从应用代码脱离开来
D.使用Spring的IOC容器时只需指出组件需要的对象,在运行时Spring的IOC容器会根据XML配置数据提供给它
2.在Spring中,数据连接是通过数据源获得的,下列关于Spring数据源描述错误的是( A )。
A.Spring提供了一个简单的数据源实现类DriverManagerDataSource,它位于org-springframework.jbdc.datasource包中,并且这个类提供池化连接的机制
B.Spring在第三方依赖包中包含了连个数据源的实现类包,其一是Apache的DBCP,其二是C3P0
C.Spring提供引用JNDI资源的类是JndiObjectFactoryBean
D.DriverManagerDataSource比较适合在单元测试或简单的独立应用中使用
3.下列关于Spring配置文件的说法正确的是( C )。
A.Spring默认是读取、WEB-INF/applicationContext.xml配置文件
B.Spring的配置文件可以配置在类路径下,并可以重命名,但是需要在web.xml文件中指定
C.把applicationContext.xml文件放到src目录下,Spring也可以读到
D.可以通过在web.xml中的和进行指定Spring配置文件
4.下面关于Spring中的bean的作用域,描述错误的是( B )。
A.Spring中的bean的作用域可以通过scope属性进行配置
B.Spring中的bean的作用域默认是prototype
C.当一个bean的scope设为“singleton”时,可以被多个线程同时访问
D.一个bean的scope只对它自己起作用,与其它bean无关
5.下列关于Spring的装配模式(default-autowire)描述不正确的是( D )。
A.Spring中,至少有两种装配模式,按“类型”和“名字”
B.Spring中默认是按名字进行装配的
C.可以用default-autowire=”byType”配置按类装配
D.一旦在一个Spring配置文件中配置了default-autowire=”byType”,其它的配置文件也是按此中装配方式进行装配
6.某业务方法taskApply(User user,List tasks)需要对其进行事物控制,下面的声明方式不能起到效果的是( D )。
A.将查询方法声明为只读事务,其他方法声明为REQUIRED
B.声明do开头的方法为REQUIRED,并修改方法名为doTaskApply
C.<tx:method name=”Apply” propagation=”REQUIRED” />
D.事务的propagation属性声明为SUPPORTS
7.下列关于Spring和Hibernate的集成,说话错误的是( D )。
A.Spring与Hibernate的集成后,Hibernate的SessionFactory可以让Spring进行管理
B.Hibernate中的配置文件也可以转移到Spring的配置文件中配置
C.使用Spring的事务管理,会让Hibernate事务处理变得简单
D.Hibernate的映射文件的路径(如:com/yc/project/model/User.hbm.xml),不能在Spring中定义
8.下列关于Spring配置数据连接池的描述,错误的是( C )。
A.Spring可以用org.apache.commons.dbcp.BasicDataSource类配置数据源
B.在org.apache.commons.dbcp.BasicDataSource类中有diver,url,username,password属性
C.配置Spring数据源时,必须引入Hibernate的SessionFactory
D.在用dbcp时,需要拷贝commons-dbcp的jar包到类路径下
9.Spring配置文件中关于事务的配置代码如下:

<tx:advice id=”txAdvice” transaction-manager=”txManager”>
tx:attributes
<tx:method name=”get
” propagation=”REQUIRED” read-only=”true” />
<tx:method name=”add*” propagation=”REQUIRED” />
<tx:method name=”” propagation=”REQUIRED” read-only=”true” />
</tx:attributes>
</tx:advice>
aop:config
<aop:pointcut id=”serviceMethod” expression=”execution (
com.yc.web.service..(…))” />
<aop:advisor advice-ref=” (1) ” pointcut-ref=” (2) ” />
</aop:config>

在横线处应填入( C )。
A.(1) txAdvice (2) txManager
B.(1) serviceMethod (2) txManager
C.(1) txAdvice (2) serviceMethod
D.(1) serviceMethod (2) txAdvice
10.下面关于Struts2.Hibernate以及Spring整合说法正确的是( B )。
A.当我们将Hibernate和Spring集成后,Hibernate的程序就交给Spring容器进行管理,所以我们不需要在将操作Hibernate的DAO配置在Spring容器中
B.将Struts2、Hibernate与Spring集成后,更方便系统开发
C.所有Spring中的配置信息必须放到applicationContext.xml中
D.当我们将Sturts、Hibernate以及Spring整合在一起时,Spring只能管理Hibernate操作数据库的事务,并不能管理Struts中关于业务操作的事务
11.关于Spring对Hibernate的支持,下列说法正确的是( D )。
A.Spring也是提供了一个持久化解决方案,可以替代Hibernate,也可以和Hibernate集成使用
B.使用Spring对Hibernate的支持,我们将无需创建SessionFactory
C.可以在Spring配置文件中配置Hibernate,因此Spring的配置文件和Hibernate的配置文件无法同时使用
D.Spring提供的HibernateDaoSupport类提供了SessionFactory的setter方法
12.分析下面的Spring配置代码,可以推断下列Java语句的运行结果是( C )。
Java语句如下:
ApplicationContext context=new ClassPathXmlApplicationContext(“yc.xml”);
System.out.println(((B)context.getBean(“b”)).getM());
Spring配置代码如下:






A.编译错误
B.什么也不输出
C.输出:1
D.输出:2
13.在Spring配置文件yc.xml中包含如下代码:



由此可以推断出( A )。
A.可以通过如下代码获取Test的实例
ApplicationContext context=new ClassPathXmlAppicationContext(“yc.xml”);
Test test=(Test)content.getBean(“test”);
B.可以通过如下代码获取i的值
ApplicationContext context=new ClassPathXmlApplicationContext(“yc.xml”);
Int i=(int)content.getBean(“I”);
C.Test肯定实现了一个接口
D.Test中一定存在getI()方法
14.在Spring中,关于依赖注入,下面说话错误的是( D )。
A.依赖注入提倡面向接口编程
B.依赖注入可降低系统的各个组件之间的依赖程度
C.依赖注入的组件对外提供接口时,使得可以随意更换接口的实现
D.依赖注入使得在实现组件时,必须考虑各个组件中的依赖关系
15.在Spring中,可以通过( B )方式实现了依赖注入
A.getter方法
B.setter方法
C.自定义赋值方法
D.静态方法
16.分析如下所示的Spring配置文件中的代码,则选项中的说法错误的是( AC )。(选择两项)
aop:config
<aop:pointcut id=”bizMethods” expression=”execution(* com.yc.biz..(…))” />
<aop:advisor advice-ref=”txAdvice” pointcut-ref=”bizMethods” />
</aop:config>
A.这是Spring2.0风格的配置
B.该配置不对任何方法起作用
C.将对com.yc.biz包下的所有类的所有方法进行事务控制
D.aop:advisor节点还应该配置transaction-manager属性
17.下列选项关于Spring依赖检查说话不正确的是( A )。
A.在某些情况下,并不需要为Bean的每个属性都设置值,或者某些属性已有默认值,此时可以使用依赖检查进行检查
B.Spring通过元素的dependency-check属性来设置依赖检查或者通过元素的default-dependency-check属性来设置全局依赖检查
C.object——检查和BeanFactory中其它Bean的依赖
D.simple——检查原始类型和String类型是否正常装配
18.下列选项中关于Spring拆分配置文件的说话不正确的是( D )。
A.在web.xml文件中使用元素来装入多个配置文件,文件名之间用逗号分隔
B.在web.xml文件中以通配符“*”来配置多个具有一定命名规则的配置文件
C.Spring配置文件本身也可以通过import子元素导入其它配置文件,将多个配置文件整合成一个完整的Spring配置文件
D.拆分Spring配置文件会影响速度,实际项目应用中不建议拆分Spring配置文件
19.下列选项关于Spring配置DataSource的说法正确的是( BC )。(选择两项)
A.Spring数据源配置方式比较单一,可配性低
B.Spring默认的数据源实现是DriverManagerDataSource
C.Spring使用PropertyPlaceholderConfigurer可以引入属性文件,在配置文件中采用${…}的方式引入属性值
D.Spring通过JndiObjectFactoryBean类引入JNDI资源,在Spring配置文件中jndiName值与服务器上配置的JNDI数据源名字一样
20.关于Struts+Spring+Hibernate集成框架,下列说话正确的是( B )。
A.使用SSH框架开发项目,由于增加了大量的配置工作,从而会降低开发的效率
B.三个框架可以用多种方式进行集成
C.使用SSH框架开发不利于实现复杂的业务逻辑
D.使用SSH框架开发不利于构造复杂的页面和交互流程
21.在Spring的配置文件中,包含如下所示的配置代码,则下面说法正确的是( CD )。




A.可以通过下列代码获取对象实例:
ApplicationContext context=new ClassPathXmlApplicationContext(“yc.xml”);
TestBean t=(TestBean)context.getBean(“text.TestBean”);
B.TestBean中一定有如下语句:
private String dp=””;
C.TestBean中可能有方法:public void setSp(String value)
D.属性dp的类型可能是int也可能是String
22.对于下面使用Spring依赖注入的代码,下面说法错误的是( CD )。(选择两项)
ApplicationContext context=new ClassPathXmlApplicationContext(“yc.xml”);
Printer printer=(Printer)context.getBean(“printer”);
A.配置文件yc.xml位于classpath目录下
B.在yc.xml中定义了一个id或name为printer的bean
C.context.getBean()返回的是printer类型的对象,不需要强制转换类型
D.yc.xml被修改后,context会自动重新加载
23.Spring是一个功能丰富而易用的集成框架,它的核心是( AB )。(选择两项)
A.依赖注入(DI)
B.面向方面编程(AOP)
C.分层架构
D.丰富的标签库
24.在Spring中,配置Hibernate事务管理(Hibernate TransactionManager)时,需要注入的属性名称是( B )。
A.Session
B.sessionFactory
C.baseHibernateDao
D.transactionProxyBean
25.下面关于Spring的说话正确的是( BC )。(选择两项)
A.Spring是一个重量级的框架
B.Spring是一个轻量级的框架
C.Spring是一个IOC和AOP容器
D.Spring是一个入侵式的框架
26.下面关于IOC的理解,正确的是( AB )。(选择两项)
A.控制反转
B.对象被动的接受依赖类
C.对象主动的去找依赖类
D.一定要用接口
27.下面关于AOP的理解,正确的是( BC )。(选择两项)
A.面向纵向的开发
B.面向横向的开发
C.AOP关注的是面
D.AOP关注的是点
28.Spring的组成一共有( D )个模块。()
A. 1 B. 3 C. 5 D. 7

29.Spring各模块之间的关系是( BC )。(选择两项)
A.Spring各模块之间是精密联系的,相互依赖的
B.Spring各模块之间可以单独存在
C.Spring的核心模块是必须的,其它模块是基于核心模块的
D.Spring的核心模块不是必须的,可以不要
30.Spring的核心模块的作用是( B )。
A.做AOP的
B.做IOCd ,用来管理Bean的
C.是用来支持Hibernate
D.是用来支持Struts的
31.对Hibernate的支持主要用到Spring的那个模块( B )。
A.Spring的核心模块
B.Spring的ORM模块
C.Spring的MVC模块
D.Spring的Web模块
32.对Struts的支持主要用到Spring的那个模块( AD )。(选择两项)
A.Spring的核心模块
B.Spring的ORM模块
C.Spring的MVC模块
D.Spring的Web模块
33.Spring包装Hibernate之后的Hibernate的DAO应该继承那个类( C )。
A.HibernateDAO
B.SessionFactory
C.HibernateDAOSuport
D.Session
34.下面是Spring依赖注入方式的是( AB )。(选择两项)
A.set方式注入
B.构造方法注入
C.get方法注入
D.接口注入
35.下面关于在Spring中配置Bean的id属性的说法正确的是( BD )。(选择两项)
A.id属性是必须的,没有id属性就会报错
B.id属性不是必须的,可以没有
C.id属性的值可以重复
D.id属性的值不可以重复
36.下面关于在Spring中配置Bean的init-method的说法正确的是( C )。
A.init-method是在最前面执行的
B.init-method在构造方法后,依赖注入前执行
C.init-method在依赖注入之后执行
D.init-method在依赖注入之后,构造函数之前执行
37.下面关于Spring配置文件说话正确的是( BC )。(选择两项)
A.Spring配置文件必须叫applicationContext.xml
B.Spring配置文件可以不叫applicationContext.mxl
C.Spring配置文件可以有多个
D.Spring配置文件只能有一个
38.看下面的代码,说法正确的是( B )。


ACCP


A.其中的userName是UserTable中的属性,可以不要get、set方法
B.其中的userName是UserTable中的属性,可以不要get方法,但是一定要有set方法
C.其中的userName是UserTable中的属性,可以不要set方法,但是一定要有get方法
D.其中的userName是UserTable中的属性,一定要有get和set方法
39.看下面代码,说话正确的是( AD )。(选择两项)


accp


A.必须要有一个接受字符串的构造方法
B.可以没有接受一个字符串的构造方法
C.这个类有且只有一个只接受一个字符串的构造方法
D.这个类可以有多个构造方法,但是一定要有一个只接受一个字符串的构造方法
40.看下列代码,说法正确的是( BD )。(选择两项)


com.xfaccp.before.BeforeInterface






beforeAdvisor



A.这段代码是做IOC
B.这段代码是做AOP
C.这段代码是在做代理
D.这段代码是在做织入
41.Spring包装Hibernate之后,能够来保存数据的方法有( AC )。(选择两项)
A.save
B.load
C.saveOrUpdate
D.merge
42.Spring包装Hibernate之后,关于merge方法说话正确的是( D )。
A.用来修改记录
B.用来增加记录
C.根据主键来判断,如果有主键就修改,没有主键就增加记录
D.先查询记录,后修改
43.在web.xml文件中配置Spring框架,下面配置正确的是( D )。
A.
config
/WEB-INF/class/applicationContext.xml

B.
servletConfig>
/WEB-INF/classes/applicationContext.xml

C.
contextconfig>
/WEB-INF/classes/applicationContext.xml

D.
contextConfigLocation>
/WEB-INF/classes/applicationContext.xml

44.下面关于BeanFactory接口的说法正确的是( B )。
A.BeanFactory是单例模式的实现,负责创建和管理bean
B.BeanFactory是工厂模式的实现,负责创建和管理bean
C.ApplicationContext类是它的实现类
D.以上说法都不对
45.下面是BeanFactory的实现类的是( AC )。(选择两项)
A.ClassPathXmlApplicationContext
B.ApplicationContext
C.FileSystemXmlApplicationContext
D.以上都是
46.下面关于AOP的理解正确的是( BC )。(选择两项)
A.能够降低组件之间的依赖关系
B.将项目中的公共的问题集中解决,减少代码量,提高系统的可维护性
C.AOP是面向对象的代替品
D.AOP不是面向对象的代替品,是面向对象很好的补充
47.Spring 和Hibernate整合过程中各对象注入的顺序是( C )。
A.DataSource->SessionFactory->Biz->DAO
B.SessionFactory->DataSource->DAO->Biz
C.DataSource->SessionFactory->DAO->Biz
D.SessionFactory->DataSource->Biz->DAO
48.关于setter注入和构造方法注入说法正确的是( BD )。(选择两项)
A.执行效果完全相同
B.注入依赖关系和注入时机不同
C.setter注入方式依赖对象先注入
D.构造方法注入方式依赖对象先注入
49.下面关于设置注入有点说法正确的是( C )。
A.构造期即创建一个完整、合法的对象
B.需要写繁琐的setter方法
C.对于负责的依赖关系,设置注入更简洁,直观
D.以上说法都不对
50.下面关于ApplicationContext的说法正确的是( BC )。(选择两项)
A.是BeanFactory的实现类
B.是一个接口
C.提供一些BeanFactory的扩展功能
D.功能同BeanFactory一样

猜你喜欢

转载自blog.csdn.net/weixin_45942124/article/details/108226788
今日推荐