习题
一、填空题
1.依赖注入的作用就是在使用Spring框架创建对象时,动态的将其所依赖的对象注入到【      】组件中。
2.在使用Spring框架之后,对象的实例不再由调用者来创建,而是由【      】来创建,Spring容器会负责控制程序之间的关系,而不是由调用者的程序代码直接控制。
3.在Spring入门程序中只需将Spring的4个基础包以及【      】的JAR包复制到lib目录中,并发布到类路径下即可。
4.简单来说,BeanFactory就是一个管理Bean的工厂,它主要负责初始化各种Bean,并调用它们的【      】方法。
5.Spring开发所需的JAR包分为两个部分:【      】和【      】。
二、判断题
1.Spring中基于构造方法的依赖注入通过调用带参数的构造方法来实现,每个参数代表着一个依赖。(  )
2.通常在Java项目中,会采用通过FileSystemXmlApplicationContext类来实例化ApplicationContext容器的方式。(  )
3.初学者学习Spring框架时,只需将Spring的4个基础包以及复制到项目的lib目录,并发布到类路径中即可。(  )
4.依赖注入的作用就是在使用Spring框架创建对象时,动态的将其所依赖的对象注入到Bean组件中。(  )
5.Spring框架采用的是分层架构,它一系列的功能要素被分成20个模块。(  )
三、选择题
1.以下关于Spring核心容器相关说法错误的是(  )
A: Spring框架的所有功能都是通过其核心容器来实现的
B: 创建BeanFactory实例时,需要提供Spring所管理容器的详细配置信息,这些信息通常采用XML文件形式来管理
C: ApplicationContext不仅包含了BeanFactory的所有功能,还添加了对国际化、资源访问、事件传播等方面的支持
D: 通常在Java项目中,会采用通过ClassPathXmlApplicationContext类来实例化ApplicationContext容器的方式,而在Web项目中,ApplicationContext容器的实例化工作会交由Web服务器来完成
2.springmvc常用标签以下有关Spring的四个基础包说法正确的是(  )
A: Spring的四个基础包,它们分别对应Spring Web容器的四个模块
B: Spring的四个基础包有、、和
C: 是所有应用都要用到的JAR包,它包含访问配置文件以及进行IoC或者DI操作相关的所有类
D: 包含Spring框架基本的核心工具类,Spring其它组件都要用到这个包里的类,是其它组件的基本核心
3.以下有关Spring框架优点的说法正确的是(  )
A: Spring具有简单、可测试和松耦合等特点,从这个角度出发,Spring就是应用于任何Java应用的开发中;
B: Spring提供了对AOP的支持,它允许将一些通用任务,如安全、事务、日志等进行集中式处理,从而提高了程序的复用性
C: Spring就是一个大工厂,可以将所有对象的创建和依赖关系的维护工作都交给Spring容器管理,杜绝了组件之间的耦合性
D: Spring增加了Java EE开发中一些API的使用难度
4.Spring的核心容器是其他模块建立的基础,以下哪个不是该容器的组成模块(  )
A: Beans模块
B: Core模块
C: Context模块
D: AOP模块
5.下列选项中,不属于Spring框架优点的是(  )
A: 提供强大的、可以有效减少页面代码的标签
B: 声明式事务的支持。
C: 方便解耦、简化开发
D: 方便集成各种优秀框架
四、简答题
1.Spring依赖注入通常有哪些实现方式,列举并分别进行说明。
答案
一、填空题
1.Bean
2.Spring容器
3.commons-logging
4.生命周期
5.Spring框架包、第三方依赖包
二、判断题
1.
2.
3.
4.
5.
三、选择题
1.A
2.D
3.B
4.D
5.A
四、简答题
Spring的实现方式通常有两种,一种是属性setter方法注入,另一种是构造方法注入。属性setter方法注入是指IoC容器使用setter方法来注入被依赖的实例。通过调用无参构造器或无参静态工厂方法实例化Bean后,调用该Bean的setter方法,即可实现基于setter方法的依赖
注入。构造方法注入是指IoC容器使用构造方法来注入被依赖的实例。基于构造方法的依赖注入通过调用带参数的构造方法来实现,每个参数代表着一个依赖。
第1章Spring中的Bean
习题
一、填空题
1.所谓自动装配,就是将一个Bean自动的注入到到其他Bean的【      】中。
2.@Controller通常作用在控制层,如Spring MVC的【      】,用于将控制层的类标识为Spring中的Bean,其功能与@Component 相同。
3.【      】注解用于将数据访问层(DAO层)的类标识为Spring中的Bean,其功能与@Component 相同。
4.对于【      】作用域的Bean,Spring只负责创建,当容器创建了Bean实例后,Bean的实例就交给客户端代码来管理,Spring容器将不再跟踪其生命周期。
5.实例工厂方式采用直接创建Bean实例的方式,在配置文件中,需要实例化的Bean是通过【      】属性指向配置的实例工厂,然后使用factory-method属性确定使用工厂中的哪个方法。
二、判断题
1.@Component注解用于描述Spring中的Bean,它是一个泛化的概念,仅仅表示一个组件,并且可以作用在任何层次,使用时只需将该注解标注在相应方法上即可。(  )
2.Spring提供了3种基于XML的装配方式:设值注入、构造注入和属性注入。(  )
3.每次客户端请求singleton作用域的Bean时,Spring容器都会创建一个新的实例,并且不会管那些被配置成singleton作用域的Bean的生命周期。(  )
4.Spring中使用prototype定义的Bean在Spring容器中将只有一个实例,也就是说,无论有多少个Bean引用它,始终将指向同一个对象。(  )
5.对于prototype作用域的Bean,Spring只负责创建,当容器创建了Bean实例后,Bean的实例就交给客户端代码来管理,Spring容器将不再跟踪其生命周期。(  )
三、选择题
1.Spring的<bean>元素中的autowire属性取值不包括以下(  )
A: default   B: byName   C: byType    D: byId
2.以下有关Bean的装配方式说法正确的是(  )
A: Spring容器支持多种形式的Bean的装配方式,如基于XML的装配、基于注解(Annotation)的装配和自动装配(其中最常用的是基于XML的装配); 
B: Spring提供了3种基于XML的装配方式:设值注入、构造注入和属性注入; 
C: 在Spring实例化Bean的过程中,Spring首先会调用Bean的默认构造方法来实例化Bean对象,然后通过反射的方式调用setter方法来注入属性值; 
D: 设值注入要求一个Bean必须提供一个有参构造方法并且为需要注入的属性提供对应的setter方法。
3.以下哪些不属于Spring 版本中Bean的作用域(  )
A: application   B: request   C: response   D: globalSession
4.Spring中定义了一系列的注解,以下有关其常用的注解说明错误的是(  )
A: @Autowired用于对Bean的属性变量、属性的setter方法及构造方法进行标注,配合对应的注解处理器完成Bean的自动配置工作,默认按照Bean的名称进行装配。 
B: @Repository用于将数据访问层(DAO层)的类标识为Spring中的Bean
C: @Service通常作用在业务层(Service层),用于将业务层的类标识为Spring中的Bean
D: @Controller通常作用在控制层(如Spring MVC的Controller),用于将控制层的类标识为Spring中的Bean
5.下列选项中,不属于Spring中实例化Bean的方式的是(  )
A: 构造器实例化        B: 静态工厂方式实例化 
C: 实例工厂方式实例化  D: 抽象方法实例化
四、简答题
1.请简述基于XML的装配方式中设值注入的要求。
答案
一、填空题
1.Property
2.Controller
3.@Repository
4.prototype
5.factory-bean
二、判断题
1.
2.
3.
4.
5.
三、选择题
1.D
2.C
3.C
4.A
5.D
四、简答题
Spring中基于XML的装配方式中设值注入需要满足以下两点要求:​
1、Bean类必须提供一个默认的无参构造方法。
2、Bean类必须为需要注入的属性提供对应的setter方法。
第2章Spring AOP
习题
一、填空题
1.AspectJ框架中注解【      】用于定义切入点表达式,在使用时还需定义一个包含名字和任意参数的方法签名来表示切入点名称。
2.在Spring配置文件中,<aop:aspect>子元素的pointcut-ref属性用于指定一个已经存在的【      】。
3.在Spring的配置文件中,配置切面使用的是【      】元素。
4.在Spring中,使用【      】是创建AOP代理的基本方式。
5.AOP术语中【      】表示AOP框架在特定的切入点执行的增强处理,即在定义好的切入点处所要执行的程序代码。
二、判断题
1.如果在同一个连接点有多个通知需要执行,那么在同一切面中,目标方法之前的前置通知和环绕通知的执行顺序是未知的,目标方法之后的后置通知和环绕通知的执行顺序也是未知的。(  )
2.AspectJ框架中的注解@After用于定义最终final通知,不管是否异常,该通知都会执行。(  )
3.Spring配置文件中的<beans>元素下可以包含多个<aop:config>元素,一个<aop:config>元素中又可以包含属性和子元素,其子元素包括<aop:pointcut>、<aop:advisor>和<aop:aspect>。(  )
4.Spring中的AOP代理默认就是使用CGLIB代理的方式来实现的。(  )
5.Spring 以后,Spring AOP引入了对AspectJ的支持,并允许直接使用AspectJ进行编程,而Spring自身的AOP API也尽量与AspectJ保持一致。(  )

版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。