javaEE企业级开发选择题题库(一)
1.
Spring 框架容器支持多种形式的 Bean 的装配方式,不包括有( )
A、 基于 XML 的装配
B、 基于 properties 的装配
C、 基于注解(Annotation)的装配
D、 自动装配
答案: B
2.
以下有关 Bean 的装配方式说法正确的是( )
A、 Spring 容器支持多种形式的 Bean 的装配方式,如基于 XML 的装配、基于注解(Annotation)的装配和自动装配(其 中最常用的是基于 XML 的装配)
B、 Spring 提供了 3 种基于 XML 的装配方式:设值注入、构造注入和属性注入
C、 在 Spring 实例化 Bean 的过程中,Spring 首先会调用 Bean 的默认构造方法来实例化 Bean 对象,然后通过反射的方 式调用 setter 方法来注入属性值
D、 设值注入要求一个 Bean 必须提供一个有参构造方法并且为需要注入的属性提供对应的 setter 方法
答案: C
3.
Spring 中定义了一系列的注解,以下有关其常用的注解说明错误的是( )。
A、 @Autowired 用于对 Bean 的属性变量、属性的 setter 方法及构造方法进行标注,配合对应的注解处理器完成 Bean 的自动配置工作,默认按照 Bean 的名称进行装配
B、 @Repository 用于将数据访问层(DAO 层)的类标识为 Spring 中的 Bean
C、 @Service 通常作用在业务层(Service 层),用于将业务层的类标识为 Spring 中的 Bean
D、 @Controller 通常作用在控制层(如 Spring MVC 的 Controller),用于将控制层的类标识为 Spring 中的 Bean
答案: A
4.
Spring 的<bean>元素中的 autowire 属性取值不包括以下( )。
A、 default
B、 byName
C、 byType
D、 byId
答案: D
5.
以下关于 Spring 对 Bean 生命周期的管理说法错误的是( )。
A、 Spring 容器可以管理 singleton 作用域的 Bean 的生命周期, Spring 能够精确的知道该 Bean 何时被创建,何时初始 化完成,以及何时被销毁
B、 对于 prototype 作用域的 Bean,Spring 只负责创建,当容器创建了 Bean 实例后,Bean 的实例就交给客户端代码来 管理,Spring 容器将不再跟踪其生命周期
C、 每次客户端请求 singleton 作用域的 Bean 时,Spring 容器都会创建一个新的实例,并且不会管那些被配置成 singleton 作用域的 Bean 的生命周期
D、 了解 Bean 的生命周期的意义就在于,可以在某个 Bean 生命周期的某些指定时刻完成一些相关操作
答案: C
6.
以下有关 CGLIB 代理相关说法正确的是( )。
A、 CGLIB 代理的使用非常简单,但它还有一定的局限性——使用动态代理的对象必须实现一个或多个接口
B、 如果要对没有实现接口的类进行代理,那么可以使用jdk动态代理
C、 CGLIB 是一个高性能开源的代码生成包,在使用时需要另外导入 CGLIB 所需要的包
D、 Spring 中的 AOP 代理,必须是 CGLIB 代理
答案: C
7.
以下关于 Spring AOP 的介绍错误的是( )。
A、 AOP 的全称是 Aspect-Oriented Programming,即面向切面编程(也称面向方面编程)
B、 AOP 采取横向抽取机制,将分散在各个方法中的重复代码提取出来,这种采用横向抽取机制的方式,采用 OOP 思 想是无法办到的
C、 虽然 AOP 是一种新的编程思想,采取横向抽取机制,是 OOP 的升级替代品
D、 目前最流行的 AOP 框架有两个,分别为 Spring AOP 和 AspectJ
答案: C
8.
以下不属于 ProxyFactoryBean 类中的常用可配置属性的是( )。
A、 target
B、 proxyInterfaces
C、 targetClass
D、 interceptorNames
答案: C
9.
在 Java Web 应用中,MVC 设计模式中的 C(控制器)通常可以由( )充当。
A、 Servlet
B、 Listener
C、 POJO
D、 Filter
答案: A
10.
下面关于 Spring MVC 特点说法错误的是( )。
A、 灵活性强,但不易于与其他框架集成
B、 可自动绑定用户输入,并能正确的转换数据类型
C、 支持国际化
D、 使用基于 XML 的配置文件,在编辑后,不需要重新编译应用程序
答案: A
11.
Spring MVC 中的后端控制器是指( )。
A、 HandlerAdapter
B、 DispatcherServlet
C、 ViewReslover
D、 Handler
答案: D
12.
关于 Spring MVC 中的 DispatcherServlet 的说法正确的是( )。
A、 DispatcherServlet 是 Spring MVC 的前端控制器,不需要配置即可起作用
B、 DispatcherServlet 是整个 Spring MVC 框架的核心,它用来分派处理所有匹配的 HTTP 请求和响应
C、 在 web.xml 中只能配置一个 DispatcherServlet,并且 Servlet 的名称必须叫 DispatcherServlet
D、 对于 DispatcherServlet 的相关配置,若配置其 servlet-mapping 映射到"/",即 DispatcherServlet 需要截获并处理该项 目的所有 URL 请求
答案: D
13.
下面关于<load-on-startup>元素说法错误的是。( )
A、 如果<load-on-startup>元素的值为 1,则在应用程序启动时会立即加载该 Servlet
B、 如果<load-on-startup>元素不存在,则应用程序会在第一个 Servlet 请求时加载该 Servlet
C、 如果<load-on-startup>元素的值为 1,则在应用程序启动时会延迟加载该 Servlet
D、 <load-on-startup>元素是可选的
答案: C
14.
下面关于包装 POJO 类型数据绑定的说法正确的是( )。
A、 如果查询条件参数是包装类的直接基本属性,则参数名直接用对应的属性名
B、 如果查询条件参数是包装类的直接基本属性,则参数名必须使用对应的“对象.属性名”
C、 如果查询条件参数是包装类中 POJO 的子属性,则参数名必须为属性名
D、 如果查询条件参数是包装类中 POJO 的子属性,则参数名必须为“对象.子属性.属性值”的形式
答案: A
15.
以下有关 Spring MVC 数据绑定中集合数据绑定的说法正确的是( )。
A、 批量删除用户操作时,前端请求传递过来的参数就会包含多个相同类型的数据,此时可以采用数组类型数据绑定的 形式
B、 使用集合数据绑定需要后台方法中定义一个集合类型参数介绍绑定前端请求参数
C、 绑定数组与绑定集合页面传递的参数相同,只是后台接收方法的参数不同
D、 在使用集合数据绑定时,后台方法中不支持直接使用集合形参进行数据绑定
答案: D
16.
JSON 对象结构中,关键字 key 必须为( )类型。
A、 Object
B、 Array
C、 String
D、 Number
答案: C
17.
下面选项中,哪一个是 Spring 的编码过滤器类( )。
A、 org.springframework.web.filter.EncodingFilter
B、 org.springframework.web.filter.CharacterEncodingFilter
C、 org.springframework.web.filter.CharacterEncoding
D、 org.springframework.web.filter.CharacterFilter
答案: B
18.
下面属于 RESTful 风格请求的是( )
A、 http://.../queryItems?id=1
B、 http://.../queryItems?id=1&name=zhangsan
C、 http://.../items/1
D、 http://.../queryitems/1
答案: C
19.
下列关于 Spring 集成 MyBatis 的说法错误的是( )。
A、 Spring 提供了 MyBatis-Spring JAR 包实现了 MyBatis 的整合
B、 在 Spring 中配置 SqlSessionTemplate,注入到 DAO 实现类,实现对数据库的操作
C、 可以在没有 DAO 的实现类的情况下,采用 MapperFactoryBean 实现数据映射接口的定义
D、 在 Spring 中配置 SqlSessionFactoryBean,使用 mapperLocations 属性,加载整个包下的 SQL 映射文件
答案: A
20.
在 MyBatis+Spring 的项目中,以下有关事务的相关说法正确的是( )。
A、 在 MyBatis+Spring 的项目中,事务是由 MyBatis 来管理的
B、 在项目中,数据访问层既是处理业务的地方,又是管理数据库事务的地方
C、 进行注解开发时,需要在配置文件中配置事务管理器并开启事务注解
D、 进行注解开发时,需要使用@Transactional 注解来标识表现层中的类
答案: C
21.
以下不属于 MapperScannerConfigurer 类,在 Spring 配置文件中使用时需要配置的属性的是( )。
A、 basePackage
B、 annotationClass
C、 mapperInterface
D、 sqlSessionFactoryBeanName
答案: C
22.
以下有关采用传统 DAO 开发方式进行 MyBatis 与 Spring 框架的整合的说法错误的是( )。
A、 采用传统 DAO 开发方式进行 MyBatis 与 Spring 框架的整合时,只需要编写 DAO 接口
B、 采用传统 DAO 开发方式进行 MyBatis 与 Spring 框架的整合时,需要向 DAO 实现类中注入 SqlSessionFactory,然 后在方法体内通过 SqlSessionFactory 创建 SqlSession
C、 可以使用 mybatis-spring 包中所提供的 SqlSessionTemplate 类或 SqlSessionDaoSupport 类来实现在类中注入 SqlSessionFactory
D、 SqlSessionDaoSupport 是一个抽象支持类,它继承了 DaoSupport 类,主要是作为 DAO 的基类来使用
答案: A
23.
下面关于 Spring 的说法中错误的是
A、 Spring 是一个轻量级框架
B、 Spring 可以实现与多种框架的无缝集成
C、 Spring 颠覆了已经有较好解决方案的领域,如 MyBatis
D、 Spring 的核心机制是"依赖注入"
答案: C
24.
以下有关 Spring 的四个基础包说法正确的是
A、 Spring 的四个基础包,它们分别对应 Spring Web 容器的四个模块
B、 Spring 的四个基础包有 spring-core.RELEASE.jar、spring-beans.RELEASE.jar、spring-context.RELEASE.jar 和 spring-aop.RELEASE.jar
C、 spring-context-.RELEASE.jar 是所有应用都要用到的 JAR 包,它包含访问配置文件以及进行 IoC 或者 DI 操作相关 的所有类
D、 spring-core.RELEASE.jar 包含 Spring 框架基本的核心工具类,Spring 其它组件都要用到这个包里的类,是其它组件 的基本核心
答案: D
25.
以下关于 Spring 核心容器相关说法错误的是()
A、 Spring 框架的所有功能都是通过其核心容器来实现的
B、 创建 BeanFactory 实例时,需要提供 Spring 所管理容器的详细配置信息,这些信息通常采用 XML 文件形式来管理
C、 ApplicationContext 不仅包含了 BeanFactory 的所有功能,还添加了对国际化、资源访问、事件传播等方面的支持
D、 通常在 Java 项目中,会采用通过 ClassPathXmlApplicationContext 类来实例化 ApplicationContext 容器的方式,而在 Web 项目中,ApplicationContext 容器的实例化工作会交由 Web 服务器来完成
答案: A
26.
下面关于依赖注入的说法正确的是( )。
A、 依赖注入的目标是在代码之外管理程序组件间的依赖关系
B、 依赖注入即"面向接口"编程
C、 依赖注入是面向对象技术的替代品
D、 依赖注入的使用会增大程序的规模
答案: A
多选:
1.
下列关于使用注解方式配置切面的说法正确的是( )。
A、 使用注解方式可以简化 Spring 的 AOP 配置
B、 需要在 Spring 配置文件中添加<aop:aspectj-autoproxy>元素
C、 需要在 Spring 配置文件中定义切入点供注解使用
D、 使用注解定义的增强处理类无须定义在 Spring 配置文件中,Spring 会自动管理
答案: AB
2.
下列关于使用注解实现 IoC 配置的说法正确的是( )
A、 @Repository 用于标注业务类
B、 @Service("UserService")表示定义一个 UserService 类型业务 Bean
C、 @Autowired 默认按类型自动装配
D、 使用 context 命名空间下的 component-scan 标签扫描注解标注的类
答案: CD
3.
如果在 SQL 映射文件中有如下配置,通过 MapperFactoryBean 可以获取映射接口,下列说法正确的是( )。
A、 在 cn.dsscm.dao.user 包中存在数据接口 UserMapper
B、 接口 UserMapper 里有方法 countAll()
C、 UserMapper 一定不能有实现类,否则会出错
D、 SQL 映射文件的名称必须是 UserMapper.xml
答案: AB