1、一、选择题(共 25 题,每题 4 分,满分 100 分)1) 下列关于 Spring 特性中 IoC 描述错误的是( ) 。AIoC 就是指程序之间的关系由程序代码直接操控B所谓“控制反转”是指控制权由应用代码转到外部容器,即控制权的转移CIoC 将控制创建的职责搬进了框架中,从应用代码脱离开来D使用 Spring 的 IoC 容器时只需指出组件需要的对象,在运行时 Spring 的 IoC 容器会根据 XML 配置数据提供给它2) 在 Spring 中,数据连接是通过数据源获得的,下列关于 Spring 数据源描述错误的是( ) 。ASpring 提供了一个简单的数据源实现类 Driver
2、ManagerDataSource,它位于org.springframework.jdbc.datasource 包中,并且这个类提供池化连接的机制BSpring 在第三方依赖包中包含了两个数据源的实现类包,其一是 Apache 的DBCP,其二是 C3P0CSpring 提供引用 JNDI 资源的类是 JndiObjectFactoryBeanDDriverManagerDataSource 比较适合在单元测试或简单的独立应用中使用3) 下列关于 Spring 配置文件的说法不正确的是( ) 。ASpring 默认是读取/WEB-INF/applicationContext.xml 配置文件
3、BSpring 的配置文件可以配置在类路径下,并可以重命名,但是需要在 web.xml 文件中指定C把 applicationContext.xml 文件放到 src 目录下,Spring 也可以读到D可以通过在 web.xml 中的 和进行指定Spring 配置文件4) 下面关于 Spring 中的 bean 的作用域,描述错误的是( ) 。ASpring 中的 bean 的作用域可以通过 scope 属性进行配置BSpring 中的 bean 的作用域默认是 prototypeC当一个 bean 的 scope 设为“singleton”时,可以被多个线程同时访问D一个 bean 的 sc
4、ope 只对它自己起作用,与其它 bean 无关5) 下列关于 Spring 的装配模式( default-autowire)描述不正确的是( ) 。ASpring 中,至少有两种装配模式,按“类型”和“名字”BSpring 中默认是按名字进行装配的C可以用 default-autowire=”byType”配置按类型装配D一旦在一个 Spring 配置文件中配置了 default-autowire=”byType”,其它的配置文件也是按此种装配方式进行装配6) 某业务方法 taskApply(User user,List tasks)需要对其进行事务控制,下面的声明方式不能起到效果的是( )
5、 。A将查询方法声明为只读事务,其他方法声明为 REQUIREDB声明 do 开头的方法为 REQUIRED,并修改方法名为 doTaskApplyCD事务的 propagation 属性声明为 SUPPORTS7) 下列关于 Spring 与 Hibernate 的集成,说法错误的是( ) 。ASpring 与 Hibernate 的集成后,Hibernate 的 SessionFactory 可以让 Spring 进行管理BHibernate 中的配置文件也可以移到 Spring 的配置文件中配置C使用 Spring 的事务管理,会让 Hibernate 事务处理变得简单DHibernat
6、e 的映射文件的路径(如:cn/jbit/project/model/User.hbm.xml) ,不能在Spring 中定义8) 下列关于 Spring 配置数据连接池的描述,错误的是( ) 。ASpring 可以用 mons.dbcp.BasicDataSource 类配置数据源B在 mons.dbcp.BasicDataSource 类中有driver,url,username,password 属性C配置 Spring 数据源时,必须引入 Hibernate 的 SessionFactoryD在用 dbcp 时,需要拷贝 commons-dbcp 的 jar 包到类路径下9) 下列选项
7、关于 Spring 的核心机制 依赖注入的描述正确的是( ) 。A所谓依赖注入就是明确地定义组件接口,独立开发各个组件,然后根据组件间的依赖关系组装运行的设计开发模式BSpring 不负责管理 bean 之间的关系C节点有可选的子节点,用于注入 bean 的属性D在 Spring 的配置文件中,使用来创建 Bean 的实例10) Spring 配置文件中关于事务的配置代码如下:在横线处应填入( ) 。A. txAdvice txManagerB. serviceMethod txManagerC. txAdvice serviceMethodD. serviceMethod txAdvice1
8、1) 下面关于 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 只能管理 Hi
9、bernate操作数据库的事务,并不能管理 Struts 中关于业务操作的事务12) 关于 Spring 对 Hibernate 的支持,下列说法正确的是( ) 。A. Spring 也提供了一个持久化解决方案,可以替代 Hibernate,也可以和 Hibernate 集成使用B. 使用 Spring 对 Hibernate 的支持,我们将无需创建 SessionFactoryC. 可以在 Spring 配置文件中配置 Hibernate,因此 Spring 的配置文件和 Hibernate 的配置文件无法同时使用D. Spring 提供的 HibernateDaoSupport 类提供了
10、SessionFactory 的 setter 方法13) 分析下面的 Spring 配置代码,可以推断下列 Java 语句的运行结果是( ) 。Java 语句如下:ApplicationContext context=new ClassPathXmlApplicationContext(“di.xml“);System.out.println( (B)context.getBean(“b“).getM( ) );Spring 配置代码如下:A. 编译错误B. 什么也不输出C. 输出:1D. 输出:214) 在 Spring 配置文件 di.xml 中包含如下的代码由此可以推断出( ) 。A.
11、 可以通过如下代码获取 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) 在
12、Spring 中,关于依赖注入,下面说法错误的是( ) 。A. 依赖注入提倡面向接口编程B. 依赖注入可降低系统的各个组件之间的依赖程度C. 依赖注入的组件对外提供接口时,使得可以随意更换接口的实现D. 依赖注入使得在实现组件时,必须考虑各个组件中的依赖关系16) 在 Spring 中,可以通过( )方式实现了依赖注入。A. getter 方法B. setter 方法C. 自定义赋值方法D. 静态方法17) 分析如下所示的 Spring 配置文件中的代码,则选项中的说法正确的是( ) 。(选择二项)A. 这是 Spring 2.0 风格的配置B. 该配置不对任何方法起作用C. 将对 cn.jb
13、it.jboa.biz 包下的所有类的所有方法进行事务控制D. 节点还应该配置 transaction-manager 属性18) 下列选项关于 Spring 依赖检查说法不正确的是( ) 。A. 在某些情况下,并不需要为 Bean 的每个属性都设置值,或者某些属性已有默认值,此时可以使用依赖检查进行检查B. Spring 通过元素的 dependency-check 属性来设置依赖检查或者通过元素的 default-dependency-check 属性来设置全局依赖检查C. object检查和 BeanFactory 中其他 Bean 的依赖D. simple检查原始类型和 String
14、类型是否正常装配19) 下列选项中关于 Spring 拆分配置文件的说法不正确的是( ) 。A. 在 web.xml 文件中使用 元素来装入多个配置文件,文件名之间以逗号分隔B. 在 web.xml 文件中以通配符“*”来配置多个具有一定命名规则的配置文件C. Spring 配置文件本身也可以通过 import 子元素导入其他配置文件,将多个配置文件整合成一个完整的 Spring 配置文件D. 拆分 Spring 配置文件会影响速度,实际项目应用中不建议拆分 Spring 配置文件20) 下列选项关于 Spring 配置 DataSource 的说法正确的是( ) 。(选择二项)A. Spri
15、ng 数据源配置方式比较单一,可配性低B. Spring 默认的数据源实现是 DriverManagerDataSourceC. Spring 使用 PropertyPlaceholderConfigurer 可以引入属性文件,在配置文件中采用$的方式引用属性值D. Spring 通过 JndiObjectFactoryBean 类引用 JNDI 资源,在 Spring 配置文件中jndiName 值与服务器上配置的 JNDI 数据源名字一样21) 关于 Struts 2+Spring+Hibernate 集成框架,下列说法正确的是( ) 。A. 使用 SSH 框架开发项目,由于增加了大量配置
16、工作,从而会降低开发的效率B. 三个框架可以用多种方式进行集成C. 使用 SSH 框架开发不利于实现复杂的业务逻辑D. 使用 SSH 框架开发不利于构造复杂的页面和交互流程22) 在 Spring 的配置文件中,包含如下所示的配置代码,则下面说法正确的是( ) 。(选择二项)A. 可以通过下列代码获取对象实例:ApplicationContext context = new ClassPathXmlApplicationContext(“di.xml“);TestBean t = (TestBean)context.getBean(“test.TestBean“);B. TestBean 中一
17、定有如下语句:private String dp = “;C. TestBean 中可能有方法: public void setSp(String value)D. 属性 dp 的类型可能是 int 也可能是 String23) 对下面使用 Spring 依赖注入的代码,下面说法错误的是( ) 。ApplicationContext context = new ClassPathXmlApplicationContext(“di.xml“);Printer printer = (Printer)context.getBean(“printer“); (选择二项 )A. 配置文件 di.xml
18、位于 classpath 目录下B. 在 di.xml 中定义了一个 id 或 name 为 printer 的 beanC. context.getBean()返回的是 printer 类型的对象,不需要强制转换类型D. di.xml 被修改后,context 会自动重新加载24) Spring 是一个功能丰富而易用的集成框架,它的核心是( ) 。(选择二项)A. 依赖注入(DI)B. 面向方面编程(AOP)C. 分层架构D. 丰富的标签库25) 在 Spring 中,配置 Hibernate 事务管理器(HibernateTransactionManager)时,需要注入的属性名称是( ) 。A. sessionB. sessionFactoryC. baseHibernateDaoD. transactionProxyFactoryBean使用 Java 企业级技术开发大型系统阶段小测试-笔试试卷答案一、选择题(25*4=100 分)1. A 2. A 3. C 4. B 5. D6. D 7. D 8. C 9. B 10. C11.B 12.D 13. C 14. A 15. D16.B 17. AC 18. A 19. D 20. BC21. B 22. CD 23. CD 24. AB 25. B考试时间 50 分钟