作业一

单选题

共10题
1、以下关于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

理解:
singleton是Spring容器默认的作用域,当Bean的作用域为singleton时,Spring容器就只会存在一个共享的Bean实例,并且所有对Bean的请求,只要id与该Bean的id属性相匹配,就会返回同一个Bean实例。

2、以下有关Spring中的Bean的相关说法正确的是()

A、Spring可以被看做是一个大型工厂,这个工厂的作用就是生产和管理Spring容器中的Bean。
B、Spring中最常使用的就是Properties格式的配置方式,这种配置方式通过Properties文件来注册并管理Bean之间的依赖关系。
C、在Spring中,XML配置文件的可以包含多个< beans >,< beans >中包含了多个< bean >子元素,每一个< bean >子元素定义了一个Bean。
D、如果在Bean中未指定id和name,则Spring无法获取Bean。

答案:A

理解:B、Spring容器支持XML和Properties两种格式的配置文件,在实际开发中最常使用的是XML格式的配置文件,这种配置方式通过XML文件来注册并管理Bean之间的依赖关系。
C、根元素是beans
D、如果Bean中未指定id和name,则Spring会将class值当做id使用。

3、Spring容器支持多种形式的Bean的装配方式,不包括有()

A、基于XML的装配
B、基于properties的装配
C、基于注解(Annotation)的装配
D、自动装配

答案:B

理解:Bean的装配方式为基于XML的装配、基于注解(Annotation)的装配、自动装配

4、以下有关Spring中Bean的作用域说法正确的是()

A、Spring 4.3中为Bean的实例定义了5种作用域
B、使用 prototype 定义的Bean在Spring容器中将只有一个实例,也就是说,无论有多少个Bean引用它,始终将指向同一个对象
C、每次通过Spring容器获取的singleton定义的Bean时,容器都将创建一个新的Bean实例
D、globalSession:在一个全局的HTTP Session中,容器会返回该Bean的同一个实例。

答案:D

理解:A、是7中作用域
BC、每次通过Spring容器获取的prototype定义的Bean时,容器都将创建一个新的Bean实例。

5、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

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

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

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

答案:C

理解:7个作用域分别是,singleton、prototype、request、session、globalSession、application、websocket。

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

A、构造器实例化
B、静态工厂方式实例化
C、实例工厂方式实例化
D、抽象方法实例化

答案:D

8、以下有关Bean的singleton作用域说法错误的是()

A、prototype是Spring容器默认的作用域
B、对需要保持会话状态的Bean(如Struts2的Action类)应该使用prototype作用域
C、在使用prototype作用域时,Spring容器会为每个对该Bean的请求都创建一个新的实例
D、要将Bean定义为prototype作用域,只需在配置文件中将< bean >元素的scope属性值设置为prototype即可

答案:A

理解:singleton才是默认作用域。

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

A、Spring容器支持多种形式的Bean的装配方式,如基于XML的装配、基于注解(Annotation)的装配和自动装配(其中最常用的是基于XML的装配);
B、Spring提供了3种基于XML的装配方式:设值注入、构造注入和属性注入;
C、在Spring实例化Bean的过程中,Spring首先会调用Bean的默认构造方法来实例化Bean对象,然后通过反射的方式调用setter方法来注入属性值;
D、设值注入要求一个Bean必须提供一个有参构造方法并且为需要注入的属性提供对应的setter方法。

答案:C

理解:A、最常用的是注解的装配
B、只有两种基于XML的装配方式,设值注入和构造注入。
D、设值注入要求Bean类必须提供一个默认的无参构造方法,且必须为需要注入的属性提供对应的setter方法。

10、Spring的< bean >元素中的autowire属性取值不包括以下()

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

答案:D

理解:autowire属性值有default,byName,byType,constructor,no。

多选题

共7题

11、以下哪些属于Spring 4.3版本中为Bean作用域()

A、singleton
B、prototype
C、request
D、application

答案:全选

12、Spring中定义了一系列的注解,常用的注解有()

A、@Autowired
B、@Repository
C、@Service
D、@Controller

答案:全选

理解:常用注解有,@Component、@Repository、@Service、@Controller、@Autowired、@Resource、@Qualifier。

13、以下哪些属于实例化Bean的方式()

A、构造器实例化
B、静态工厂方式实例化
C、实例工厂方式实例化
D、抽象方法实例化

答案:ABC

14、以下有关Bean的singleton作用域说法正确的是()

A、singleton是Spring容器默认的作用域
B、当Bean的作用域为singleton时,Spring容器就只会存在一个共享的Bean实例
C、singleton作用域对于无会话状态的Bean(如Dao 组件、Service组件)来说,是最理想的选择
D、Bean的作用域是通过< bean >元素的scope属性来指定的,该属性值有7个值,对应7种作用域

答案:全选

15、以下有关< bean >元素的属性及子元素说明正确的是()

A、id是一个Bean的唯一标识符,Spring容器对Bean的配置、管理都通过该属性来完成
B、name :Spring容器同样可以通过此属性对容器中的Bean进行配置和管理,name属性中可以为Bean指定多个名称,每个名称之间用逗号或分号隔开
C、class属性指定了Bean的具体实现类,它必须是一个完整的类名
D、scope用来设定Bean实例的作用域,其属性值有5种

答案:ABC

理解:D、有7种

16、在Spring配置文件中,Bean的作用域是通过< bean >元素的scope属性来指定的,该属性值可以设值包括有()

A、request
B、response
C、session
D、application

答案:ACD

17、以下有关< bean >元素的autowire属性值及说明正确的是()

A、default:由< bean >的上级标签< beans >的default-autowire属性值确定
B、byName:根据属性的名称自动装配。容器将根据名称查找与属性完全一致的Bean,并将其属性自动装配。
C、byType:根据属性的数据类型(Type)自动装配,如果一个Bean的数据类型兼容另一个Bean中属性的数据类型,则自动装配
D、constructor:根据构造函数参数的数据类型,进行byType模式的自动装配

答案:全选

判断题

共26题

18、prototype是Spring容器默认的作用域()

答案:错

理解:singleton才是

19、在Spring中,XML配置文件的根元素是< beans >,< beans >中包含了多个< bean >子元素,每一个< bean >子元素定义了一个Bean,并描述了该Bean如何被装配到Spring容器中()

答案:对

20、构造器实例化是指Spring容器通过Bean对应类中默认的无参构造方法来实例化Bean()

答案:对

21、使用基于基于Annotation的装配可以较大程度上解决基于XML方式装配导致的配置文件臃肿和难以维护等问题()

答案:对

22、singleton作用域对于无会话状态的Bean(如Dao 组件、Service组件)来说,是最理想的选择()

答案:对

23、静态工厂的方法来创建Bean实例,其class属性指定的同样是Bean实例的实现类,同时还需要使用factory-method属性来指定所创建的静态工厂方法()

答案:错

理解:其Bean配置中的class属性所指定的不再是Bean实例的实现类。

24、当Bean的作用域为singleton时,Spring容器就只会存在一个共享的Bean实例,并且所有对Bean的请求,只要id与该Bean的id属性相匹配,就会返回同一个Bean实例()

答案:对

25、singleton是Spring容器默认的作用域()

答案:对

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

答案:对

27、Spring 4.3版本中为Bean的实例定义了7种作用域()

答案:对

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

答案:错

理解:最常用的是基于注解的装配。

29、Spring容器可以管理singleton作用域的Bean的生命周期()

答案:对

30、Spring可以被看做是一个大型工厂,这个工厂的作用就是生产和管理Spring容器中的Bean。()

答案:对

31、在Spring中,要想使用容器中的Bean,也需要实例化Bean()

答案:对

32、Spring容器也可以管理prototype作用域的Bean的生命周期()

答案:错

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

33、在配置文件中,通常一个普通的Bean只需要定义id(或name)和class 两个属性即可()

答案:对

34、Bean的装配可以理解为依赖关系注入,Bean的装配方式即Bean依赖注入的方式()

答案:对

35、对需要保持会话状态的Bean(如Struts2的Action类)应该使用prototype作用域()

答案:对

36、实例化Bean有三种方式,分别为构造器实例化、静态工厂方式实例化和实例工厂方式实例化(其中最常用的是构造器实例化)()

答案:对

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

答案:错

理解:只有设值注入和构造注入

38、所谓自动装配,就是将一个Bean自动的注入到到其他Bean的Property中()

答案:对

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

答案:错

理解:使用时只需将该注解标注在相应类上即可。

40、Spring的< bean >元素中包含一个autowire属性,我们可以通过设置autowire的属性值来自动装配Bean()

答案:对

41、如果在Bean中未指定id和name,则Spring会将class值当作id使用()

答案:对

42、在使用prototype作用域时,Spring容器为每个对该Bean的请求都只创建一个实例()

答案:错

理解:每次都会创建一个新的Bean实例。

43、Spring容器支持XML和Properties两种格式的配置文件,在实际开发中,最常使用的就是Properties格式的配置方式。()

答案:错

理解:Spring容器支持XML和Properties两种格式的配置文件,在实际开发中,最常使用的就是XML格式的配置方式

Logo

权威|前沿|技术|干货|国内首个API全生命周期开发者社区

更多推荐