写面试题中遇到的问题(17)(spring篇)

本文写给正在努力的自己,努力的补基础知识,五道题一篇

ps:我把答案都放在解析下面了

  1. 关于Spring AOP 的术语,下列说法错误的是:

A. 连接点(join point),对应的是具体被拦截的对象,因为Spring只支持方法,所以被拦截的对象往往就是指定的方法,AOP将通过动态代理技术把它织入对应的流程中。
B. 切点(point cut),有时候,我们切面不单单应用于单个方法,也可能是多个类的不同方法,这时,可以通过正则式和指示器的规则去定义,从而适配连接点,切点就是提供这样一个功能的概念。
C. 通知(advice),就是按照约定的流程下的方法,分为前置通知、后置通知、环绕通知、事后返回通知和异常通知,它会根据约定织入流程中。
D. 切面(aspect),即被代理的对象。

初识想法:Spring最有特色的两个名词:AOP(面向切面编程),IOC(控制反转)

解析:切面是一种思想,是一种技术,而不是一个对象,切面是一由一系列切点,增强和引入组成的模块技术。

答案:D

  1. SpringBoot注解中,主要功能是启动Spring应用程序上下文进行自动配置的注解是()

A. @SpringBootApplication
B. @Import
C. @EnableAutoConfiguration
D. @Conditional

初识想法:题目有自动,那就选带Auto的选项

解析:
@SpringBootApplication:SpringBoot的核心注解,主要目的是开启自动配置,它也是一个组合注解,主要结合了@Configurer,@EnableConfiguration(核心)和@ComponentScan。可以通过@SpringBootApplication(exclude={想要关闭的自动配置的类名.class})来关闭特定的自动配置
@EnableAutoConfiguration:自动载入应用程序所需的Bean——这依赖于Spring Boot在类路径中的查找。该注解组合了@Import注解

答案:C

  1. Spring在TransactionDefinition几口中规定了7种类型的事务传播行为其中PROPAGATION_REQUIRED代表()

A. 支持当前事务,如果当前没哟事务,则以非事务方式执行
B. 使用当前的事务,如果当前没有事务,则抛出异常
C. 新建事务,如果当前存在事务,则吧当前事务挂起
D. 如果当前没有事务,则新建一个事务;如果已存在一个事务,则加入到这个事务中

解析:PROPAGATION_SUPPORTS支持当前事务,如果当前没有事务,则以非事务方式执行;PROPAGATION_MANDATORY传播行为使用当前的事务,如果当前没有事务,则抛出异常;PROPAGATION_REQUIRES_NEW新建事务,如果当前存在事务,则把当前事务挂起

写面试题中遇到的问题(17)(spring篇)_第1张图片

答案:D

  1. 关于Spring AOP 的织入,下列说法错误的是()

A. 织入,就是将方面组件中定义的横切逻辑,织入到目标对象的连接点的工程。
B. 可以在编译时织入,需要使用特殊的编译器
C. 可以在装载类时织入,需要使用特殊的类装载器
D. 可以在运行时织入,需要使用特殊的JRE

初识想法:什么是AOP的织入?

解析:织入是将增强天界对于目标类具体连接点上的过程,AOP就像一台织布机,将目标类、增强或引介通过AOP这台织布机编织在一起,根据不同的实现技术。
AOP有三种织入方式:
一、编译期织入:这要求使用特殊的Java编译器
二、类装载期织入:着要求使用特殊的类装载器
三、动态代理织入,在运行期为目标类添加增强生成子类的方式。Spring采用动态代理织入,而AspectJ采用编译器织入和类装载期织入

答案:

  1. 在Spring事务的ISOLATION_REPEATABLE_READ隔离级别下,有可能出现以下那种情况

A. 脏读
B. 幻读
C. 不可重复度
D. 都有可能发生

初识想法:看看就好了。。。知道是7种就好了

解析:从牛客偷了张图
写面试题中遇到的问题(17)(spring篇)_第2张图片

答案:B

你可能感兴趣的:(面试题错题集,python,开发语言,网络安全)