一、选择题(共25题,每题4分,满分100分)
1) 下列关于Spring特性中IoC描述错误的是( )。
A.IoC就是指程序之间的关系由程序代码直接操控
B.所谓“控制反转”是指控制权由应用代码转到外部容器,即控制权的转移
C.IoC将控制创建的职责搬进了框架中,从应用代码脱离开来
D.使用Spring的IoC容器时只需指出组件需要的对象,在运行时Spring的IoC容器会根据XML配置数据提供给它
2) 在Spring中,数据连接是通过数据源获得的,下列关于Spring数据源描述错误的是( )。
A.Spring提供了一个简单的数据源实现类DriverManagerDataSource,它位于org.springframework.jdbc.datasource包中,并且这个类提供池化连接的机制
B.Spring在第三方依赖包中包含了两个数据源的实现类包,其一是Apache的DBCP,其二是C3P0
C.Spring提供引用JNDI资源的类是JndiObjectFactoryBean
D.DriverManagerDataSource比较适合在单元测试或简单的独立应用中使用
3) 下列关于Spring配置文件的说法不正确的是( )。
A.Spring默认是读取/l配置文件
B.Spring的配置文件可以配置在类路径下,并可以重命名,但是需要在l文件中指定
C.把l文件放到src目录下,Spring也可以读到
D.可以通过在l中的<context-param><param-name>和<param-value>进行指定Spring配置文件
4) 下面关于Spring中的bean的作用域,描述错误的是( )。
A.Spring中的bean的作用域可以通过scope属性进行配置
B.Spring中的bean的作用域默认是prototype
C.当一个bean的scope设为“singleton”时,可以被多个线程同时访问
D.一个bean的scope只对它自己起作用,与其它bean无关
5) 下列关于Spring的装配模式(default-autowire)描述不正确的是( )。
A.Spring中,至少有两种装配模式,按“类型”和“名字”
B.Spring中默认是按名字进行装配的
C.可以用default-autowire=”byType”配置按类型装配
D.一旦在一个Spring配置文件中配置了default-autowire=”byType”,其它的配置文件也是按此种装配方式进行装配
6) 某业务方法taskApply(User user,List tasks)需要对其进行事务控制,下面的声明方式不
能起到效果的是( )。
A.将查询方法声明为只读事务,其他方法声明为REQUIRED
B.声明do开头的方法为REQUIRED,并修改方法名为doTaskApply
C.<tx:method name="*Apply" propagation="REQUIRED" />
D.事务的propagation属性声明为SUPPORTS
7) 下列关于Spring与Hibernate的集成,说法错误的是( )。
A.Spring与Hibernate的集成后,Hibernate的SessionFactory可以让Spring进行管理
B.Hibernate中的配置文件也可以移到Spring的配置文件中配置
C.使用Spring的事务管理,会让Hibernate事务处理变得简单
D.Hibernate的映射文件的路径(如:cn/jbit/project/model/l),不能在Spring中定义
8) 下列关于Spring配置数据连接池的描述,错误的是( )。
A.Spring可以用org.apachemons.dbcp.BasicDataSource类配置数据源
B.在org.apachemons.dbcp.BasicDataSource类中有driver,url,username,password属性
C.配置Spring数据源时,必须引入Hibernate的SessionFactory
D.在用dbcp时,需要拷贝commons-dbcp的jar包到类路径下
9) 下列选项关于Spring的核心机制——依赖注入的描述正确的是( )。
A.所谓依赖注入就是明确地定义组件接口,独立开发各个组件,然后根据组件间的依赖关系组装运行的设计开发模式
B.Spring不负责管理bean之间的关系
C.<bean>节点有可选的<property>子节点,用于注入bean的属性
D.在Spring的配置文件中,使用<bean>来创建Bean的实例
10) 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(* cn.jbit.ch09.service.*.*(..))" />
<aop:advisor advice-ref="①________" pointcut-ref="②_________" />
</aop:config>
…
在横线处应填入( )。
A. ① txAdvice
② txManager
B. ① serviceMethod
② txManager
C. ① txAdvice
② serviceMethod
D. ① serviceMethod
② txAdvice
11) 下面关于Struts 2、Hibernate以及Spring整合说法正确是( )。
A. 当我们将Hiberntae和Spring集成后,Hibernate的程序就交给Spring容器进行管理,所以我们不需要在将操作Hibernate的DAO配置在Spring容器中
B. 将Struts2、Hibernate与Spring集成后,更方便系统开发
C. 所有Spring中的配置信息必须放到l 中
D. 当我们将Struts、Hibernate以及Spring整合在一起时,Spring只能管理Hibernate操作数据库的事务,并不能管理Struts中关于业务操作的事务
12) 关于Spring对Hibernate的支持,下列说法正确的是( )。
A. Spring也提供了一个持久化解决方案,可以替代Hibernate,也可以和Hibernate集成使用
B. 使用Spring对Hibernate的支持,我们将无需创建SessionFactory
C. 可以在Spring配置文件中配置Hibernate,因此Spring的配置文件和Hibernate的配置文件无法同时使用
D. Spring提供的HibernateDaoSupport类提供了SessionFactory的setter方法
13) 分析下面的Spring配置代码,可以推断下列Java语句的运行结果是( )。
Java语句如下:
ApplicationContext context=new ClassPathXmlApplicationContext("di.xml");
System.out.println( ((Bean("b")).getM( ) );
Spring配置代码如下:
<bean id="a" class="A">
<property name="m"value="1" />
</bean>
<bean id="b" class="B" parent="a">
<property name="n" value="2" />
</bean>
A. 编译错误
B. 什么也不输出
C. 输出:1
D. 输出:2
14) 在Spring配置文件di.xml中包含如下的代码
<bean id="test" class="Test">
<property name="i" value="100" />
</bean>
由此可以推断出( )。
A. 可以通过如下代码获取Test的实例
ApplicationContext context=new ClassPathXmlApplicationContext("di.xml");
Test test=(Bean("test");
. 可以通过如下代码获取i的值
ApplicationContext context=new ClassPathXmlApplicationContext("di.xml");
int i = (Bean("i");
C. Test肯定实现了一个接口typec转dp
D. Test中一定存在getI()方法
15) 在Spring中,关于依赖注入,下面说法错误的是( )。
A. 依赖注入提倡面向接口编程
B. 依赖注入可降低系统的各个组件之间的依赖程度
C. 依赖注入的组件对外提供接口时,使得可以随意更换接口的实现
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。
发表评论