Spring测试试题
下列关于Spring特性中IOC描述错误的是( A )。A.IOC就是指程序之间的关系由代码直接操控B.所谓“控制反转”是指控制权由应用代码转到外部容器,即控制权的转移C.IOC将控制权创建的职责搬进了框架中,从应用代码脱离开来D.使用Spring的IOC容器时只需指出组件需要的对象,在运行时Spring的IOC容器会根据XML配置数据提供给它在Spring中,数据连接是通过数据源获得的,下列关于
- 下列关于Spring特性中IOC描述错误的是( A )。
A. IOC就是指程序之间的关系由代码直接操控
B. 所谓“控制反转”是指控制权由应用代码转到外部容器,即控制权的转移
C. IOC将控制权创建的职责搬进了框架中,从应用代码脱离开来
D. 使用Spring的IOC容器时只需指出组件需要的对象,在运行时Spring的IOC容器会根据XML配置数据提供给它 - 在Spring中,数据连接是通过数据源获得的,下列关于Spring数据源描述错误的是( A )。
A. Spring提供了一个简单的数据源实现类DriverManagerDataSource,它位于org-springframework.jbdc.datasource包中,并且这个类提供池化连接的机制
B. Spring在第三方依赖包中包含了连个数据源的实现类包,其一是Apache的DBCP,其二是C3P0
C. Spring提供引用JNDI资源的类是JndiObjectFactoryBean
D. DriverManagerDataSource比较适合在单元测试或简单的独立应用中使用 - 下列关于Spring配置文件的说法正确的是( C )。
A. Spring默认是读取、WEB-INF/applicationContext.xml配置文件
B. Spring的配置文件可以配置在类路径下,并可以重命名,但是需要在web.xml文件中指定
C. 把applicationContext.xml文件放到src目录下,Spring也可以读到
D. 可以通过在web.xml中的和进行指定Spring配置文件 - 下面关于Spring中的bean的作用域,描述错误的是( B )。
A. Spring中的bean的作用域可以通过scope属性进行配置
B. Spring中的bean的作用域默认是prototype
C. 当一个bean的scope设为“singleton”时,可以被多个线程同时访问
D. 一个bean的scope只对它自己起作用,与其它bean无关 - 下列关于Spring的装配模式(default-autowire)描述正确的是( D )。
A. Spring中,至少有两种装配模式,按“类型”和“名字”
B. Spring中默认是按名字进行装配的
C. 可以用default-autowire=”byType”配置按类装配
D. 一旦在一个Spring配置文件中配置了default-autowire=”byType”,其它的配置文件也是按此中装配方式进行装配 - 某业务方法taskApply(User user,List tasks)需要对其进行事物控制,下面的声明方式不能起到效果的是( D )。
A. 将查询方法声明为只读事务,其他方法声明为REQUIRED
B. 声明do开头的方法为REQUIRED,并修改方法名为doTaskApply
C. <tx:method name=”*Apply” propagation=”REQUIRED” />
D. 事务的propagation属性声明为SUPPORTS - 下列关于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中定义 - 下列关于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包到类路径下 - 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 - 下面关于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中关于业务操作的事务 - 关于Spring对Hibernate的支持,下列说法正确的是( D )。
A. Spring也是提供了一个持久化解决方案,可以替代Hibernate,也可以和Hibernate集成使用
B. 使用Spring对Hibernate的支持,我们将无需创建SessionFactory
C. 可以在Spring配置文件中配置Hibernate,因此Spring的配置文件和Hibernate的配置文件无法同时使用
D. Spring提供的HibernateDaoSupport类提供了SessionFactory的setter方法 - 分析下面的Spring配置代码,可以推断下列Java语句的运行结果是( C )。
Java语句如下:
ApplicationContext context=new ClassPathXmlApplicationContext(“yc.xml”);
System.out.println(((B)context.getBean(“b”)).getM());
Spring配置代码如下:
<bean id=”a” class=”A”>
<property name=”m” value=”1” />
</bean>
<bean id=”b” clas=”B” parent=”a” >
<property name=”n” value=”2” />
</bean>
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 )。
<bean id=”testBean” class=”test.TestBean”>
<property name=”dp” value=”10” />
<property name=”sp” value=”mm” />
</bean>
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 )。
<bean id=”userTable” class=”com.yc.bean.UserTable” >
<property name=”username”>
<value>ACCP</value>
</property>
</bean>
A. 其中的userName是UserTable中的属性,可以不要get、set方法
B. 其中的userName是UserTable中的属性,可以不要get方法,但是一定要有set方法
C. 其中的userName是UserTable中的属性,可以不要set方法,但是一定要有get方法
D. 其中的userName是UserTable中的属性,一定要有get和set方法
39. 看下面代码,说话正确的是( AD )。(选择两项)
<bean id=”user” class=”com.yc.bean.User” />
<constructor-arg>
<value>accp</value>
</constructor>
</bean>
A. 必须要有一个接受字符串的构造方法
B. 可以没有接受一个字符串的构造方法
C. 这个类有且只有一个只接受一个字符串的构造方法
D. 这个类可以有多个构造方法,但是一定要有一个只接受一个字符串的构造方法
40. 看下列代码,说法正确的是( BD )。(选择两项)
<bean id=”before” class=”org.springframework.aop.framework.PoxyFactoryBean”>
<property nane=”proxyInterfaces”>
<value>com.xfaccp.before.BeforeInterface</value>
</property>
<property name=”target>
<ref bean=”testBefore” />
</property>
<property name=”interceptorNames”>
<list>
<value>beforeAdvisor</value>
</list>
</property>
</bean>
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.
<context-param>
<param-name>config</param-name>
<param-value>/WEB-INF/class/applicationContext.xml</param-value>
</context-param>
B.
<context-param>
<param-name>servletConfig></param-name>
<param-value>/WEB-INF/classes/applicationContext.xml</param-value>
</context-param>
C.
<context-param>
<param-name>contextconfig></param-name>
<param-value>/WEB-INF/classes/applicationContext.xml</param-value>
</context-param>
D.
<context-param>
<param-name>contextConfigLocation></param-name>
<param-value>/WEB-INF/classes/applicationContext.xml</param-value>
</context-param>
- 下面关于BeanFactory接口的说法正确的是( B )。
A. BeanFactory是单例模式的实现,负责创建和管理bean
B. BeanFactory是工厂模式的实现,负责创建和管理bean
C. ApplicationContext类是它的实现类
D. 以上说法都不对 - 下面是BeanFactory的实现类的是( AC )。(选择两项)
A. ClassPathXmlApplicationContext
B. ApplicationContext
C. FileSystemXmlApplicationContext
D. 以上都是 - 下面关于AOP的理解正确的是( BC )。(选择两项)
A. 能够降低组件之间的依赖关系
B. 将项目中的公共的问题集中解决,减少代码量,提高系统的可维护性
C. AOP是面向对象的代替品
D. AOP不是面向对象的代替品,是面向对象很好的补充 - Spring 和Hibernate整合过程中各对象注入的顺序是( C )。
A. DataSource->SessionFactory->Biz->DAO
B. SessionFactory->DataSource->DAO->Biz
C. DataSource->SessionFactory->DAO->Biz
D. SessionFactory->DataSource->Biz->DAO - 关于setter注入和构造方法注入说法正确的是( BD )。(选择两项)
A. 执行效果完全相同
B. 注入依赖关系和注入时机不同
C. setter注入方式依赖对象先注入
D. 构造方法注入方式依赖对象先注入 - 下面关于设置注入有点说法正确的是( C )。
A. 构造期即创建一个完整、合法的对象
B. 需要写繁琐的setter方法
C. 对于负责的依赖关系,设置注入更简洁,直观
D. 以上说法都不对 - 下面关于ApplicationContext的说法正确的是( BC )。(选择两项)
A. 是BeanFactory的实现类
B. 是一个接口
C. 提供一些BeanFactory的扩展功能
D. 功能同BeanFactory一样
更多推荐
所有评论(0)