第二章 Spring中的Bean

1、以下有关Bean的singleton作用域说法错误的是()。
A、prototype是Spring容器默认的作用域

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

C、在使用prototype作用域时,Spring容器会为每个对该Bean的请求都创建一个新的实例

D、要将Bean定义为prototype作用域,只需在配置文件中将元素的scope属性值设置为prototype即可

参考答案 :A

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

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

B、Spring提供了3种基于XML的装配方式:设值注入、构造注入和属性注入;
C、在Spring实例化Bean的过程中,Spring首先会调用Bean的默认构造方法来实例化Bean对象,然后通过反射的方式调用setter方法来注入属性值;

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

参考答案 :C

答案说明 :设值注入要求一个Bean必须提供一个无参构造方法

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

A、基于XML的装配
B、基于properties的装配

C、基于注解(Annotation)的装配

D、自动装配

参考答案 :B

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

A、default

B、byName

C、byType
D、byId

参考答案 :'D

5、以下有关Spring中的Bean的相关说法正确的是()。
A、Spring可以被看做是一个大型工厂,这个工厂的作用就是生产和管理Spring容器中的Bean

B、Spring中最常使用的就是Properties格式的配置方式,这种配置方式通过Properties文件来注册并管理Bean之间的依赖关系

C、在Spring中,XML配置文件的可以包含多个,中包含了多个子元素,每一个子元素定义了一个Bean

D、如果在Bean中未指定id和name,则Spring无法获取Bean

参考答案 :A

6、以下关于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

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

A、Spring 4.3中为Bean的实例定义了5种作用域

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

C、每次通过Spring容器获取的singleton定义的Bean时,容器都将创建一个新的Bean实例
D、globalSession:在一个全局的HTTP Session中,容器会返回该Bean的同一个实例。

参考答案 :'D

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

A、application

B、request
C、response

D、globalSession

参考答案 :C

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

A、构造器实例化

B、静态工厂方式实例化

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

参考答案 'D

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

多选题

11、在Spring配置文件中,Bean的作用域是通过元素的scope属性来指定的,该属性值可以设值包括有()。
A、request
B、response
C、session

D、application

参考答案 :A,C,D

12、以下有关元素的属性及子元素说明正确的是()。
A、id是一个Bean的唯一标识符,Spring容器对Bean的配置、管理都通过该属性来完成
B、name :Spring容器同样可以通过此属性对容器中的Bean进行配置和管理,name属性中可以为Bean指定多个名称,每个名称之间用逗号或分号隔开
C、class属性指定了Bean的具体实现类,它必须是一个完整的类名

D、scope用来设定Bean实例的作用域,其属性值有5种

参考答案 :A,B,C

答案说明 :最近版本Spring框架scope属性值有7种

13、Spring中定义了一系列的注解,常用的注解有()。
A、@Autowired
B、@Repository
C、@Service
D、@Controller

参考答案 :A,B,C,D

14、以下哪些属于实例化Bean的方式()。
A、构造器实例化
B、静态工厂方式实例化
C、实例工厂方式实例化

D、抽象方法实例化

参考答案 :A,B,C

判断题

15、singleton是Spring容器默认的作用域()。
参考答案 :对

16、Spring容器支持多种形式的Bean的装配方式,如基于XML的装配、基于注解(Annotation)的装配和自动装配(其中最常用的是基于XML的装配)()。
参考答案 :错

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

18、实例化Bean有三种方式,分别为构造器实例化、静态工厂方式实例化和实例工厂方式实例化(其中最常用的是构造器实例化)()。
参考答案 :对

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

20、在使用prototype作用域时,Spring容器为每个对该Bean的请求都只创建一个实例()。
参考答案 :错

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

22、在配置文件中,通常一个普通的Bean只需要定义id(或name)和class 两个属性即可()。
参考答案 :对

23、在Spring中,要想使用容器中的Bean,也需要实例化Bean()。
参考答案 :对

24、prototype是Spring容器默认的作用域()。
参考答案 :错

填空题

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

26、Spring实例化Bean有三种方式,分别为构造器实例化、静态工厂方式实例化和

实例工厂方式实例化
参考答案 :【实例工厂方式实例化】

27、Spring提供了2种基于XML的装配方式:设值注入和构造注入
参考答案 :【设值注入(Setter Injection)】【构造注入(Constructor Injection)】

28、所谓自动装配,就是将一个Bean自动的注入到到其他Bean的Property中。2分
参考答案 :【Property】

29、静态工厂方式实例化Bean时,其class属性指定的是bean,同时还需要使用factory-method属性来指定所创建的createBean。
参考答案 :【静态工厂类】【静态工厂方法】

简答题

30、Bean的作用域是通过元素的scope属性来指定的,请说出该属性值有哪些。10分
参考答案 :singleton、prototype、request、session、globalSession、application、websocket

31、请简述基于XML的装配方式中设值注入的要求。10分
参考答案 :
Spring中基于XML的装配方式中设值注入需要满足以下两点要求:
1、Bean类必须提供一个默认的无参构造方法。
2、Bean类必须为需要注入的属性提供对应的setter方法。

32、请简述使用静态工厂方式实例化Bean所在配置文件的配置方式。10分
参考答案 :在配置文件中,首先通过元素配置一个Bean,然后通过class属性指定其对应的静态工厂实现类。由于这种方式配置Bean后,Spring容器不知道哪个是你所需要的工厂方法,所以需要增加factory-method属性来告诉Spring容器。

33、请简述使用实例工厂方式实例化Bean所在配置文件的配置方式。10分
参考答案 :在配置文件中,首先配置了一个工厂Bean,然后配置需要实例化的Bean。在需要实例化的Bean中,使用factory-bean属性指向配置的实例工厂,该属性值就是上一个工厂Bean的id。使用factory-method属性来确定使用工厂中的方法。

相关推荐
8***29312 小时前
解决 Tomcat 跨域问题 - Tomcat 配置静态文件和 Java Web 服务(Spring MVC Springboot)同时允许跨域
java·前端·spring
CoderYanger2 小时前
优选算法-栈:67.基本计算器Ⅱ
java·开发语言·算法·leetcode·职场和发展·1024程序员节
q***06292 小时前
Tomcat的升级
java·tomcat
稚辉君.MCA_P8_Java2 小时前
DeepSeek 插入排序
linux·后端·算法·架构·排序算法
多多*2 小时前
Java复习 操作系统原理 计算机网络相关 2025年11月23日
java·开发语言·网络·算法·spring·microsoft·maven
青云交2 小时前
Java 大视界 -- Java 大数据在智能物流无人配送车路径规划与协同调度中的应用
java·spark·路径规划·大数据分析·智能物流·无人配送车·协同调度
t***p9352 小时前
idea创建SpringBoot自动创建Lombok无效果(解决)
spring boot·后端·intellij-idea
d***81722 小时前
解决SpringBoot项目启动错误:找不到或无法加载主类
java·spring boot·后端
无限大63 小时前
RBAC模型:像电影院选座一样管理权限,告别"一个用户配一个权限"的噩梦
后端