Spring测试题

一、选择题(共20题,每题2分)

  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默认是读取/WEB-INF/applicationContext.xml配置文件
    B.Spring的配置文件可以配置在类路径下,并可以重命名,但是需要在web.xml文件中指定
    C.把applicationContext.xml文件放到src目录下,Spring也可以读到
    D.可以通过在web.xml中的和进行指定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/User.hbm.xml),不能在Spring中定义

  8. 下列关于Spring配置数据连接池的描述,错误的是( )。
    A.Spring可以用org.apache.commons.dbcp.BasicDataSource类配置数据源
    B.在org.apache.commons.dbcp.BasicDataSource类中有driver,url,username,password属性
    C.配置Spring数据源时,必须引入Hibernate的SessionFactory
    D.在用dbcp时,需要拷贝commons-dbcp的jar包到类路径下

  9. 下列选项关于Spring的核心机制——依赖注入的描述正确的是( )。
    A.所谓依赖注入就是明确地定义组件接口,独立开发各个组件,然后根据组件间的依赖关系组装运行的设计开发模式
    B.Spring不负责管理bean之间的关系
    C.节点有可选的子节点,用于注入bean的属性
    D.在Spring的配置文件中,使用来创建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中的配置信息必须放到applicationContext.xml 中
    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( ((B)context.getBean(“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=(Test)content.getBean(“test”);
    . 可以通过如下代码获取i的值
    ApplicationContext context=new ClassPathXmlApplicationContext(“di.xml”);
    int i = (int)content.getBean(“i”);
    C. Test肯定实现了一个接口
    D. Test中一定存在getI()方法

  15. 在Spring中,关于依赖注入,下面说法错误的是( )。
    A. 依赖注入提倡面向接口编程
    B. 依赖注入可降低系统的各个组件之间的依赖程度
    C. 依赖注入的组件对外提供接口时,使得可以随意更换接口的实现
    D. 依赖注入使得在实现组件时,必须考虑各个组件中的依赖关系

  16. 在Spring中,可以通过( )方式实现了依赖注入。
    A. getter方法
    B. setter方法
    C. 自定义赋值方法
    D. 静态方法

  17. 分析如下所示的Spring配置文件中的代码,则选项中的说法正确的是( )。
    aop:config
    <aop:pointcut id=“bizMethods”
    expression=“execution(* cn.jbit.jboa.biz..(…))” />
    <aop:advisor advice-ref=“txAdvice” pointcut-ref=“bizMethods” />
    </aop:config> (选择二项)
    A. 这是Spring 2.0风格的配置
    B. 该配置不对任何方法起作用
    C. 将对cn.jbit.jboa.biz包下的所有类的所有方法进行事务控制
    D. aop:advisor节点还应该配置transaction-manager属性

  18. 下列选项关于Spring依赖检查说法不正确的是( )。
    A. 在某些情况下,并不需要为 Bean 的每个属性都设置值,或者某些属性已有默认值,此时可以使用依赖检查进行检查
    B. Spring通过元素的dependency-check 属性来设置依赖检查或者通过元素的default-dependency-check属性来设置全局依赖检查
    C. object——检查和BeanFactory中其他Bean的依赖
    D. simple——检查原始类型和String类型是否正常装配

  19. 下列选项中关于Spring拆分配置文件的说法不正确的是( )。
    A. 在web.xml文件中使用元素来装入多个配置文件,文件名之间以逗号分隔
    B. 在web.xml文件中以通配符“*”来配置多个具有一定命名规则的配置文件
    C. Spring配置文件本身也可以通过import子元素导入其他配置文件,将多个配置文件整合成一个完整的Spring配置文件
    D. 拆分Spring配置文件会影响速度,实际项目应用中不建议拆分Spring配置文件

  20. 下列选项关于Spring配置DataSource的说法正确的是( )。(选择二项)
    A. Spring数据源配置方式比较单一,可配性低
    B. Spring默认的数据源实现是DriverManagerDataSource
    C. Spring使用PropertyPlaceholderConfigurer可以引入属性文件,在配置文件中采用${…}的方式引用属性值
    D. Spring通过JndiObjectFactoryBean类引用JNDI资源,在Spring配置文件中jndiName值与服务器上配置的JNDI数据源名字一样

二、问答题 【第题10分】

  1. 根据你的理解,写出什么叫声明式事务以及配置的要点,写出关键的配置?

  2. 根据你理解,说出spring struts2和hibernate集成要注意的什么,写出web.xml中的几个关键配置,比如struts2以及spring的配置

  3. Spring如何简化hibernate?spring如何管理SessionFactory.

  4. 简述ajax框架的好处,写出你所知道的ajax框架,简述一个dwr配置文件中convert的作用.

三、编程题[每题10分]

  1. 用 JDBC 查询学生成绩单[stud_id,stud_name,stud_score], 将学生的成绩在控制台输出,写出完整的代码。

  2. 某仓库有如下库存表Stock[prod_id编号,prod_name名称,prod_price单价,prod_num数量]
    A、请写出对应的实体类,以及映射文件内容Stock.hbm.xml信息
    B、写出StockDaoImpl类的 save update delete findById findAll这5个方法的实现。
    提示[继承HiberanteDaoSupport]

  • 5
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

梁云亮

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值