栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 软件开发 > 后端开发 > Java

JavaEE企业级应用开发教程(SSM)习题

Java 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

JavaEE企业级应用开发教程(SSM)习题

第1章 Spring的基本应用 习题

一、填空题

    依赖注入的作用就是在使用Spring框架创建对象时,动态的将其所依赖的对象注入到【 】组件中。

    在使用Spring框架之后,对象的实例不再由调用者来创建,而是由【 】来创建,Spring容器会负责控制程序之间的关系,而不是由调用者的程序代码直接控制。

    在Spring入门程序中只需将Spring的4个基础包以及【 】的JAR包复制到lib目录中,并发布到类路径下即可。

    简单来说,BeanFactory就是一个管理Bean的工厂,它主要负责初始化各种Bean,并调用它们的【 】方法。

    Spring开发所需的JAR包分为两个部分:【 】和【 】。

二、判断题

    Spring中基于构造方法的依赖注入通过调用带参数的构造方法来实现,每个参数代表着一个依赖。( )

    通常在Java项目中,会采用通过FileSystemXmlApplicationContext类来实例化ApplicationContext容器的方式。( )

    初学者学习Spring框架时,只需将Spring的4个基础包以及commons-logging.jar复制到项目的lib目录,并发布到类路径中即可。( )

    依赖注入的作用就是在使用Spring框架创建对象时,动态的将其所依赖的对象注入到Bean组件中。( )

    Spring框架采用的是分层架构,它一系列的功能要素被分成20个模块。( )

三、选择题

    以下关于Spring核心容器相关说法错误的是。( )

A: Spring框架的所有功能都是通过其核心容器来实现的。

B: 创建BeanFactory实例时,需要提供Spring所管理容器的详细配置信息,这些信息通常采用XML文件形式来管理。

C: ApplicationContext不仅包含了BeanFactory的所有功能,还添加了对国际化、资源访问、事件传播等方面的支持。

D: 通常在Java项目中,会采用通过ClassPathXmlApplicationContext类来实例化ApplicationContext容器的方式,而在Web项目中,ApplicationContext容器的实例化工作会交由Web服务器来完成。

    以下有关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其它组件都要用到这个包里的类,是其它组件的基本核心。

    以下有关Spring框架优点的说法正确的是。( )

A: Spring具有简单、可测试和松耦合等特点,从这个角度出发,Spring就是应用于任何Java应用的开发中;

B: Spring提供了对AOP的支持,它允许将一些通用任务,如安全、事务、日志等进行集中式处理,从而提高了程序的复用性

C: Spring就是一个大工厂,可以将所有对象的创建和依赖关系的维护工作都交给Spring容器管理,杜绝了组件之间的耦合性

D: Spring增加了Java EE开发中一些API的使用难度

    Spring的核心容器是其他模块建立的基础,以下哪个不是该容器的组成模块。( )

A: Beans模块

B: Core模块

C: Context模块

D: AOP模块

    下列选项中,不属于Spring框架优点的是。( )

A: 提供强大的、可以有效减少页面代码的标签

B: 声明式事务的支持。

C: 方便解耦、简化开发

D: 方便集成各种优秀框架

答案

一、填空题

    Bean

    Spring容器

    commons-logging

    生命周期

    Spring框架包、第三方依赖包

二、判断题

三、选择题

    A

    D

    B

    D

    A

第2章 Spring中的Bean 习题

一、填空题

    所谓自动装配,就是将一个Bean自动的注入到到其他Bean的【 】中。

    @Controller通常作用在控制层,如Spring MVC的【 】,用于将控制层的类标识为Spring中的Bean,其功能与@Component 相同。

    【 】注解用于将数据访问层(DAO层)的类标识为Spring中的Bean,其功能与@Component 相同。

    对于【 】作用域的Bean,Spring只负责创建,当容器创建了Bean实例后,Bean的实例就交给客户端代码来管理,Spring容器将不再跟踪其生命周期。

    实例工厂方式采用直接创建Bean实例的方式,在配置文件中,需要实例化的Bean是通过【 】属性指向配置的实例工厂,然后使用factory-method属性确定使用工厂中的哪个方法。

二、判断题

    @Component注解用于描述Spring中的Bean,它是一个泛化的概念,仅仅表示一个组件,并且可以作用在任何层次,使用时只需将该注解标注在相应方法上即可。( )

    Spring提供了3种基于XML的装配方式:设值注入、构造注入和属性注入。( )

    每次客户端请求singleton作用域的Bean时,Spring容器都会创建一个新的实例,并且不会管那些被配置成singleton作用域的Bean的生命周期。( )

    Spring中使用prototype定义的Bean在Spring容器中将只有一个实例,也就是说,无论有多少个Bean引用它,始终将指向同一个对象。( )

    对于prototype作用域的Bean,Spring只负责创建,当容器创建了Bean实例后,Bean的实例就交给客户端代码来管理,Spring容器将不再跟踪其生命周期。( )

三、选择题

    Spring的元素中的autowire属性取值不包括以下。( )

A: default B: byName C: byType D: byId

    以下有关Bean的装配方式说法正确的是。( )

A: Spring容器支持多种形式的Bean的装配方式,如基于XML的装配、基于注解(Annotation)的装配和自动装配(其中最常用的是基于XML的装配);

B: Spring提供了3种基于XML的装配方式:设值注入、构造注入和属性注入;

C: 在Spring实例化Bean的过程中,Spring首先会调用Bean的默认构造方法来实例化Bean对象,然后通过反射的方式调用setter方法来注入属性值;

D: 设值注入要求一个Bean必须提供一个有参构造方法并且为需要注入的属性提供对应的setter方法。

    以下哪些不属于Spring 4.3版本中Bean的作用域。( )

A: application B: request C: response D: globalSession

    Spring中定义了一系列的注解,以下有关其常用的注解说明错误的是。( )

A: @Autowired用于对Bean的属性变量、属性的setter方法及构造方法进行标注,配合对应的注解处理器完成Bean的自动配置工作,默认按照Bean的名称进行装配。

B: @Repository用于将数据访问层(DAO层)的类标识为Spring中的Bean。

C: @Service通常作用在业务层(Service层),用于将业务层的类标识为Spring中的Bean。

D: @Controller通常作用在控制层(如Spring MVC的Controller),用于将控制层的类标识为Spring中的Bean。

    下列选项中,不属于Spring中实例化Bean的方式的是。( )

A: 构造器实例化 B: 静态工厂方式实例化

C: 实例工厂方式实例化 D: 抽象方法实例化

答案

一、填空题

    Property

    Controller

    @Repository

    prototype

    factory-bean

二、判断题

三、选择题

    D

    C

    C

    A(类型)

    D

第3章Spring AOP 习题

一、填空题

    AspectJ框架中注解【 】用于定义切入点表达式,在使用时还需定义一个包含名字和任意参数的方法签名来表示切入点名称。

    在Spring配置文件中,子元素的pointcut-ref属性用于指定一个已经存在的【 】。

    在Spring的配置文件中,配置切面使用的是【 】元素。

    在Spring中,使用【 】是创建AOP代理的基本方式。

    AOP术语中【 】表示AOP框架在特定的切入点执行的增强处理,即在定义好的切入点处所要执行的程序代码。

二、判断题

    如果在同一个连接点有多个通知需要执行,那么在同一切面中,目标方法之前的前置通知和环绕通知的执行顺序是未知的,目标方法之后的后置通知和环绕通知的执行顺序也是未知的。( )

    AspectJ框架中的注解@After用于定义最终final通知,不管是否异常,该通知都会执行。( )

    Spring配置文件中的元素下可以包含多个元素,一个元素中又可以包含属性和子元素,其子元素包括、和。( )

    Spring中的AOP代理默认就是使用CGLIB代理的方式来实现的。( )

    Spring 3.0以后,Spring AOP引入了对AspectJ的支持,并允许直接使用AspectJ进行编程,而Spring自身的AOP API也尽量与AspectJ保持一致。( )

三、选择题

    以下不属于ProxyFactoryBean类中的常用可配置属性的是。( )

A: target

B: proxyInterfaces

C: targetClass

D: interceptorNames

    以下哪种类型不是Spring中的通知类型。( )

A: 异常通知

B: 前置通知

C: 后置通知

D: 最终通知

    关于AspectJ注解的介绍,说法错误的是。( )

A: @Aspect用于定义一个切面

B: @Pointcut用于定义切入点表达式

C: @Before用于定义前置通知,相当于BeforeAdvice

D: @After用于定义后置通知,相当于AfterReturningAdvice

    以下有关CGLIB代理相关说法正确的是。( )

A: CGLIB代理的使用非常简单,但它还有一定的局限性——使用动态代理的对象必须实现一个或多个接口。

B: 如果要对没有实现接口的类进行代理,那么可以使用CGLIB代理。 ()

C: CGLIB是一个高性能开源的代码生成包,在使用时需要另外导入CGLIB所需要的包。

D: Spring中的AOP代理,可以是JDK动态代理,也可以是CGLIB代理。()

    以下关于Spring AOP 的介绍错误的是。( )

A: AOP的全称是Aspect-Oriented Programming,即面向切面编程(也称面向方面编程)。

B: AOP采取横向抽取机制,将分散在各个方法中的重复代码提取出来,这种采用横向抽取机制的方式,采用OOP思想是无法办到的。

C: 虽然AOP是一种新的编程思想,采取横向抽取机制,是OOP的升级替代品。

D: 目前最流行的AOP框架有两个,分别为Spring AOP和AspectJ。

答案

一、填空题

    @Pointcut

    切入点名称

    ProxyFactoryBean

    Advice

二、判断题

三、选择题

    C

    D

    D

    BD

    C

第6章 初识MyBatis 习题

一、填空题

    MyBatis的删除操作在映射文件中是通过配置【】元素来实现的。

    MyBatis映射文件中元素是配置文件的根元素,它包含一个【】属性,该属性为这个指定了唯一的命名空间。

    使用MySQL中的【】函数进行字符串拼接,可以有效防止模糊查询时可能出现的SQL注入问题。

    mybatis-config.xml作为MyBatis的全局配置文件,配置了MyBatis的运行环境等信息,其中主要内容是获取。

    【】是当前主流的Java持久层框架之一,它与Hibernate一样,也是一种ORM框架。

二、判断题

    MyBatis映射文件中元素是配置文件的根元素,它包含一个namespace属性,该属性为这个指定了唯一的命名空间。( )

    使用MyBatis框架非常简单,只需在应用程序中引入MyBatis框架lib目录中的全部JAR包以及数据库驱动包(MyBatis的核心包)即可进行项目运行。( )

    ORM就是一种为了解决面向对象与关系型数据库中数据类型不匹配的技术,它通过描述Java对象与数据库表之间的映射关系,自动将Java应用程序中的对象持久化到关系型数据库的表中。( )

    MyBatis的更新操作也需要进行事务提交。( )

    创建的映射文件中的SQL语句要以面向对象的写法进行书写。( )(映射文件中的语句就是SQL语句)

三、选择题

    MyBatis的删除操作有关说法错误的是。( )

A: MyBatis的删除操作在映射文件中是通过配置元素来实现的。

B: MyBatis的删除操作也需要进行事务提交。

C: MyBatis的删除操作执行了SqlSession的delete()方法。

D: MyBatis的删除操作和添加操作时,也需要封装整个实体类。

    MyBatis的更新操作有关说法错误的是。( )

A: MyBatis的更新操作在映射文件中是通过配置元素来实现的 。

B: MyBatis的更新操作也需要进行事务提交。

C: MyBatis的更新操作执行了SqlSession的update()方法 。

D: MyBatis的更新操作和添加操作时,只需要将insert()方法改为updat()方法即可。

    关于MyBatis模糊查询中进行SQL字符串拼接时,说法错误的是。( )

A: 使用“${}”进行SQL字符串拼接时,无法防止SQL注入问题。

B: 可以使用MySQL中的concat()函数进行字符串拼接。

C: 使用MySQL中的concat()函数进行字符串拼接,也无法防止SQL注入。

D: 使用MySQL中的concat()函数进行字符串拼接,导致数据库移植性变差。

    有关MyBatis工作原理说法错误的是。( )

A: MyBatis的全局配置文件配置了MyBatis的运行环境等信息,其中主要内容是获取数据库连接

B: MyBatis映射文件中配置了操作数据库的SQL语句,需要在MyBatis的全局配置文件中加载才能执行

C: 可以通过MyBatis的环境等配置信息构建会话对象SqlSession

D: SqlSession对象,该对象中包含了执行SQL的所有方法

    使用ORM框架后,应用程序不再直接访问底层数据库,而是以()的方式来操作持久化对象(PO,即Persisent Object)。( )

A: 面向业务B: Hibernate C: 面向对象 D: MyBatis

答案

一、填空题

    namespace

    concat()

    数据库连接

    MyBatis

二、判断题

三、选择题

    D

    D

    C

    C

    C

第7章 MyBatis的核心配置 习题

一、填空题

    当数据表中的列和需要返回的对象的属性不完全一致, MyBatis是不会自动赋值的。此时,就可以使用【】元素进行处理。

    元素的子元素用于表示哪个列是【】,而【】元素用于表示POJO和数据表中普通列的映射关系。

    MyBaits映射文件中使用元素的【】属性可以引用自定义的代码片段,其属性值为自定义代码片段的id。

    MyBatis映射文件中子元素的order属性可以被设置为【 】或【 】。

    对于数据源的配置,MyBatis框架提供了UNPOOLED、【】和JNDI三种数据源类型。

二、判断题

    的子元素和用于处理多表时的关联关系。( )

    MyBatis映射文件的元素的属性与元素的属性相同。

    C: keyColumn属性用于设置第几列是主键,当主键列不是表中的第一列时需要设置。

    D: useGeneratedKeys此属性会使MyBatis使用JDBC的getGeneratedKeys()方法来获取由数据库内部生产的主键。

      以下关于元素用来映射查询语句,它可以帮助我们从数据库中读取出数据,并组装数据给业务开发人员。

      B: parameterType属性表示传入SQL语句的参数类的全限定名或者别名。

      C: resultMap表示外部resultMap的命名引用,返回时可以同时使用resultType和resultMap

      D: 在同一个映射文件中可以配置多个