面试笔记(1):SpringMVC的工作流程,SpringMVC的常用注解,Spring容器的理解

笔记属个人总结,仅供参考,如有误,可以相互交流

1、简述springMVC的运作流程

1、用户通过浏览器向服务器发送请求,请求被SpringMVC的前端控制器DispatcherServlet拦截。
2、前端控制器将拦截的请求发送给处理器映射器HandlerMapping,处理器映射器根据请求URL创建相应的处理器及拦截器,并返回给前端控制器。
3、前端控制器,根据返回的信息,调用处理器适配器HandlerAdapter,处理器映射器执行处理器中相应的方法
4、处理器Handler执行完方法后,返回ModelAndView对象,该对象包含数据和视图。一路返回到前端控制器。
5、前端控制器根据返回来的数据和视图,调用相应的视图解析器ViewResolver,视图解析器解析后,向前端控制器返回具体地视图。
6、前端控制器对视图进行渲染,视图经过渲染后返回给客户端浏览器显示。

2、SpringMVC的常用注解

@Controller       将指定的类定义为控制器注入spring容器中
@RequestMapping   定义请求映射,可用于控制器类或方法上
@RequestBody      将Jason数据类型转化为Java类型
@ResponseBody@RequestBody相反,将java类型转化为jason类型
@RequestParameter 指定前端请求参数的别名,即该注解的name值与同名的形式参数绑定
@PathVariable     将url中的占位符绑定到形式参数中
组合注解
@RestController 包含@Controller@ResponseBody的组合注解

@GetMapping  get请求方式的Mapping,等价于@RequestMapping(value="/users/login.action",method=RequestMehod.GET)
----- 以下的注解与@GetMapping类似,只是请求方式不同而已-------------
@PostMapping
@PatchMapping
@DeleteMapping
@PutMapping


讲一下@PathVariable和@RequestParam的区别
@RequestMappint("/findUser/{id}")
public User findUser(@PathVariable("id") long id, 
@RequestParam(value="pageNum",required=false,defaultValue="22") int pageNum){}
@PathVariable:指的是路径参数
@RequestParam:是对参数的说明

@RequestParam(value=“参数别名”,required=false,defaultValue=“默认值”)

3、Spring容器的理解

Spring是一个一站式的开源容器框架。一站式体现在
1,在表现层提供了SpringMVC技术以及与structs2框架整合的能力
2,在数据访问层提供了与mybatis,hibernate等orm框架整合的能力
Spring最主要的特点是IOC,DI和AOP
1,IOC,控制反转,传统方式中,创建对象是通过硬编码实现的,而在spring中,Spring容器托管对象,创建对象,管理对象生命周期,即创建对象的控制权从程序员转移到了spring容器中,这就是控制反转。
2,DI,依赖注入,就是对象与对象的关系可以通过spring容器注入
3,AOP,面向切面编程,采取横向抽取机制,将分散在各个方法中的重复代码抽取出来,然后在需要执行的地方植入这些代码。
a,这些重复的代码抽取出来放在一个类中,这个类就叫切面类aspect。
b,每段重复代码组成切面类的方法,这些方法就叫做通知advice。
c,在需要执行的地方植入这些重复代码,这些需要执行的地方就是我们所说的切入点pointcut。切入点可以是某个类,也可以是某个类中的方法。
其中spring中的通知有5种类型:
前置通知,后置通知,环绕通知,异常通知,最终通知。

aop编程中所使用的模式是代理模式。
声明式事务管理就是aop编程的一个例子。

4、hibernate和mybatis的区别

=未完待续==

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值