1.
关于Spring MVC开发,下列说法错误的是( )
在控制器的方法中,我们可以直接使用Request、Response对象处理请求与响应。
ModelAndView对象,既可以存储模型数据,又可以存储模板路径。
Model对象只能存放模型数据,它和ModelAndView一样,需要主动实例化。
Spring MVC的核心组件是DispatcherServlet,它负责分发所有的请求。
答案:c
解析:Model 对象可以被自动实例化。
2.
下列关于Spring中Bean作用域的说法错误的是( )
Bean的作用域可以通过@Scope注解来修改,该注解有五个不同的取值。
对定义为session的Bean,每次HTTP请求都会创建一个新的Bean。
每次通过Spring容器获取prototype定义的Bean时,容器都将创建一个新的Bean实例。
作用域为globalSession的Bean来讲,在一个全局的HTTP Session中,容器会返回该Bean的同一个实例
答案:B
解析:
B选项的说法应是定义为request的Bean;作用域为Session的Bean在同一个HTTP Session共享一个Bean,不同的HTTP Session使用不同的Bean。
3.
SpringBoot注解中,主要功能是启动Spring应用程序上下文时进行自动配置的注解是( )
答案:
@EnableAutoConfiguration
解析:
@EnableAutoConfiguration的主要功能是启动Spring应用程序上下文时进行自动配置,它会尝试猜测并配置项目可能需要的Bean。自动配置通常是基于项目classpath中引入的类和已定义的Bean来实现的,在此过程中,被自动配置的组件来自项目自身和项目依赖的jar包中。
4.
下列关于@ComponentScan注解的说法中,错误的是( )
@ComponentScan注解用于定义Bean的扫描策略。
@ComponentScan注解默认规则是对当前包的子包中的Bean进行扫描。
@ComponentScan注解的basePackages属性用于自定义要扫描哪些包。
@ComponentScan注解只是定义了扫描范围,在此范围内带有特定注解的Bean才会被载入容器。
答案:B
@ComponentScan注解默认规则是对当前包及其子包中的Bean进行扫描。
5.
关于Spring IoC,以下说法正确的是( )
IoC是控制反转的意思,这是一种面向对象的编程思想。
IoC是控制反转的意思,这是一种面向切面编程的思想。
Spring采用依赖注入的方式,实现了IoC思想。
Spring采用依赖查找的方式,实现了IoC思想。
答案:AC
6.
在使用@Autowired注解时,如果一个类可以有多种类型,就会对Spring IoC 容器注入造成困扰,这种情况我们称之为歧义性,为解决这一问题,我们可以使用( )注解。
@Component
@Primary
@Resource
@Qualifier
答案:BD
解析:
当发现有多种类型的Bean时,@Primary注解会通知IoC容器优先使用它所标注的Bean进行注入;@Quelifier注解可以与@AutoWired注解组合使用,达到通过类型和名称一起筛选Bean的效果。
7.
关于IoC注解,下面说法错误的是( )
@Autowired用于注入Bean,该注解只能写在成员变量的前面。
@Qualifier用于声明Bean的名称,该注解只能引用Bean的自定义名称。
@Bean用于装配第三方的Bean,它不能装配自定义的Bean。
@Configuration用于声明配置类,该注解是基于@Component实现的。
答案:ABC
解析:
@AutoWired注解还可以写在set方法、构造器上;@Qualifier注解也可以引用默认名称;@Bean注解可以用于装配任何Bean。