Spring面试题
一、单选题
1.Spring是年发布的(B )
A.2022
B.2004
C.2006
D.2008
2.Spring中的对象的作用域不包括( B)
A.session
B.servletContext
C.singleton
D.proptotype
3.在Spring的配置文件中定义了如下代码,说法正确的是( B )
A.Student对象中一定有一个dept属性,并且赋值了一个字符串department
B.在Spring文件中定义了一个id为student的Bean对象
C.Student中一定定义了一个setDepartment()的方法
D.score是一个基本数据类型
4.下面不属于SpringAOP中的通知类型的是:D
A.前置通知
B.后置通知
C.异常通知
D.代理通知
5.下列关于切入点表达式execution(* com.bobo.service.*.*(..))
说法正确的是(B )
A.匹配com.bobo.service及其子包下的类中的所有方法
B.匹配com.bobo.service这个包下的类中的所有方法
C.没有要求,匹配所有public修饰的方法
D.匹配是这个类com.bobo.service.AccountService.*(…)下的所有方法
6.下列不属于AOP注解的通知类型的是(C )
A.@Before
B.@AfterReturing
C.@Aspect
D.@Aroud
7.在Spring中我们通过JdbcTemplate来操作数据库,JdbcTemplate需要注入的资源是(A )
A.DataSource
B.SessionFactory
C.Configuration
D.Session
8.在Spring中,配置Hibernate事务管理器(HibernateTransactionManager)时,需要注入的属性名称是(B )
A.session
B.sessionFactory
C.baseHibernateDao
D.transactionProxyFactoryBean
9.整合SSH框架需要保证的是:在Tomcat启动时,Spring容器就已经创建,那么需要在web.xml配置:A
A.ContextLoaderListener
B.StrutsSpringObjectFactory
C.struts2-spring-plugin.jar
D.FilterDistatcher
10.关于Spring与Hibernate集成,下面说法错误的是( C)
A.Spring提供了HibernateDaoSupport类来简化Hibernate的使用
B.在Spring配置文件中可以配置链接数据库的信息
C.通过集成Spring和Hibernate,使Spring管理程序的依赖关系,将SessionFactory注入到DataSource中
D.通过Spring,可以在业务逻辑层代码中无需直接实例化DAO类,而是通过注入得到
11.下面对Spring中Bean的注入说法正确的是(B)
A.Bean根据注入方式不同可以分为构造方法注入和自动装载。
B.使用构造方法注入构造对象的同时,完成依赖关系的建立
C.在关系的对象很多时,使用构造方法注入更适合
D.构造方法通过constructor-index属性来指定,在该标签下要指定索引的位置
12.关于ApplicationContext接口,下列说法错误的是 C
A.它是BeanFactory的子接口
B.ApplicationContext是基于BeanFactory而建立的,ApplicationContext继承了BeanFactory的功能
C.FileSystemXmlApplicationContext是其子接口
D.ApplicationContext提供了对资源文件进行访问的支持
13.下面关于事务管理说法错误的是(D)
A.Spring事务管理方式包括编程方式、声明式
B.编程式采用的方式来控制事物的边界
C.声明式采用配置xml方式,将事务管理与实际业务代码解耦
D.实现编程事物,可以实现PlatformTransaction接口或是使用事务模板TransactionTemplate
14.以下说法不正确的是(B)
A.Spring是一个轻量级框架,大大简化了java企业级开发
B.Spring是企业级应用开发的一站式选择,可以取代其他已有框架
C.Spring框架最基本的部分是Spring Core模块,提供Ioc和依赖注入
D.Spring AOP是基于Spring Core的符合规范的面向切面编程的实现
15.下面对Spring框架的持久化支持说法错误的是(C)
A.Spring没有自己的持久化方案,它集合了现有的流行持久化框架
B.Spring采用JDBC模板封装了JDBC的数据库操作
C.Spring对各种持久化技术提供了统一的编程方式
D.Spring将数据库访问的checked异常转换为运行时异常
16.在一个运行结果的测试类中,有如下代码:
下列选项中关于Spring的配置文件理解不正确的是(C)
A.Spring的配置文件名字为applicationContext.xml
B.Spring配置文件一般使用bean元素中的id=“userService”
C.UserService是一个接口
D.在配置文件中UserService可以没有属性注入
17.使用Spring简化Hibernate的开发,不需要的步骤是(C)
A.在Spring配置文件ApplicationContext.xml创建一个名为SessionFactory的bean类的
实现是org.Springframework.orm.hibemate3.LoactionFactoryBean
B.在Dao接口的实现类继承HibernateDaoSupport
C.Dao接口的实现类提供SessionFactory的set/get方法
D.在Spring的配置文件中为Dao注入SessionFactory
18.pring 中"@Cacheable" 注解与以下哪个注解类似(C)
A.@CacheDefaults
B.@CachePut
C.@CacheResult
D.@CacheGet
19.Spring支持的事务功能包括(C)
A.事务的传播行为
B.事务回滚
C.全部选项
D.事务的隔离级别
20.Spring 3 提升了哪项功能(A)
A.支持更多注解
B.全不正确
C.增加额外的生命周期方法
D.支持更多的bean 作用域
二、多选题
1.在关于依赖注入,描述正确的是(BC)
A.依赖注入可以增强系统各组件的依赖关系
B.所谓依赖注入,就是明确地定义组件接口,独立开发各个组件 ,然后根据组件件依赖关系组装运行的设计模式
C.依赖注入能够降低系统各组件的依赖关系,提倡面向接口编程
D.Spring的依赖注入和控制反转是完全不同的两个概念
2.对于Spring的AOP的实现方式下列选项说法错误的是(AD)
A.Spring的Advice采用特定的aop语言,在定义pointcuts不可以使用配置文件
B.以实现接口的方式作为优先,这样可以降低应用程序组件之间的耦合程度
C.Spring不支持属性成员jointponts
D.以上说法都正确
3.Spring中AOP的通知类型有(ABCD)
A.前置通知
B.异常通知
C.后置通知
D.环绕通知
4.关于Spring的说明下面正确的是(BD)
A.Spring不支持对数据库的事务管理
B.Spring支持对业务的事务管理
C.Spring的配置文件必须通过Struts-config.xml通知应用服务器所在的目录
D.Spring实现了AOP思想
5.下列属于AOP注解的通知类型的是(ABD )
A.@Before
B.@AfterReturing
C.@Aspect
D.@Aroud
三、判断题
1.Spring是一个重量级框架(×)
2.Spring的核心是IoC和AOP(√)
3.Spring框架最基本的部分是Spring Core模块,提供Ioc和依赖注入(√)
4.Spring采用JDBC模板封装了JDBC的数据库操作(√)
5.Spring支持业务对事物的管理(√)
6.@Resouce注解是Spring中提供的(×)
7.Spring的AOP中用到了代理模式(√)
8.Spring中注入到容器中的对象默认是单例(√)
9.Spring中注入到容器中的对象都是单例(√)
10.Spring整合MyBatis需要在Spring容器中管理SqlSessionFactory对象(√)
11.Spring 中 "@Transactional"注解是用 AOP 实现的(√)
12.使用 XML配置能实现 SpringAOP(√)
四、填空题
1.Spring的核心是 IOC 和 AOP
2.在三层结构中我们一般把事物控制在 service 层。
3.Spring中的事务的四大特性: 原子性 一致性 隔离性 和 持久性
4.Spring中bean注入时,引用数据类型通过 ref 赋值,基本数据类型通过 value 赋值
5.Spring中aop通过read-only=true配置只读事务
6.Spring IOC是基于Java的工厂模式 AOP是基于Java的代理模式
7.Spring的两个容器 ApplicationContext 和 BeanFactory