Spring常见面试题之AOP与MVC

Spring AOP

1、理解的AOP?

将通用的、与业务无关的功能抽象封装为切面类,可以配置在目标方法前、后执行,能够在不修改源码的情况下对程序行为进行扩展。

2、Spring AOP与AspectJ AOP有什么区别?

  • Spring AOP属于运行时增强,AspectJ AOP是编译时增强
  • Spring AOP基于代理,AspectJ AOP基于字节码操作
  • AspectJ 功能更强大,但Spring AOP相对来说更简单

3、AspectJ 定义的通知类型有哪些?

  • Before(前置通知):目标方法执行前触发
  • After(后置通知):目标方法执行后触发
  • AfterRetuning(返回通知):调用完成,返回结果后触发
  • AfterThrowing(异常通知):抛出异常后触发
  • Around(环绕通知):自定义触发的时机,操作范围最大

4、多个切面的执行顺序如何控制?

  1. 使用注解@Order(n)注解直接定义切面顺序:n越小优先级越高
  2. 实现Ordered接口重写getOrder方法:在方法中返回n值

Spring MVC

1、对Spring MVC的理解?

MVC是模型(model)、视图(View)、控制器(Controller)的简写,核心思想是将业务逻辑、数据、显示分离来组织代码。

2、Spring MVC的核心组件有哪些?

  • DispatcherServlet:核心的中央处理器,负责接收请求、分发,返回客户端响应。
  • HandlerMapping:处理映射器,根据URL查找能处理的Handler,将请求涉及到的拦截器和Handler一起封装。
  • HandlerAdapter:处理适配器,根据HandlerMapping找到的Handler,执行对应的Handler。
  • Handler:请求处理器,处理实际请求的处理器。
  • ViewResolver:视图解析器,根据Handler返回的视图解析并渲染,并传递给DispatchServlet客户端。

3、Spring MVC的工作原理?

img
整理自JavaGuide

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值