Spring、SpringMVC、IOC容器、注解、AOP五种通知类型、Spring声明事务、SpringMVC的配置、SpringMVC的执行流程

IOC容器:
spring中 scope属性和lazy-init属性的作用:

scope:
设置 是单例还是多例模式 singleton和prototype

lazy-init:
延迟加载,可以减少服务器压力。需要用的时候加载。

俩个注解用来对象注入,俩者的区别:

注入对象的俩个注解:@Autowired 和@Resource
区别:
提供方不同:
@Autowired 第三方提供
@Resource 官方的

机制不同:
@Autowired 只能根据类型在IOC中来匹配
@Resource 可以用name属性来指定 ,如果没有name属性指定bean id ,默认是按其下面的属性名作为 bean id ,如果下面的属性名与bean id不匹配,就到了数据类型来匹配-在IOC容器中进行查找

AOP的五种通知类型:

前置通知(Before)
后置通知(After)
返回通知(After returning)
异常通知(After throwing)
环绕通知(Around)

AOP切面就是在保证不改动源代码的情况下对其进行扩展 例如 日志 以及事务的处理

Spring的声明式事务:
在执行方法时自动开启或关闭事务的技术;
声明式事务是指利用AOP自动提交、回滚数据库事务;
声明式事务规则进入方法打开事务,成功提交,出现运行时异常(RuntimeException)时会出现 回滚事务;
@Transactional是 声明式事务的注解 ,俩个参数,propagation和 rollbackFor;
1.如果是使用事务的话
propagation:确定方法是否使用事务,默认自动使用声名事务Propagation.REQUIRED
rollbackFor:例子 Exception.class这样写,如果出现非运行时异常也会回滚。
2.不使用事务,只有查看的功能 readOnly设置只读与否
@Transactional(propagation = Propagation.NOT_SUPPORTED,readOnly =true)

SpringMVC实现REST风格

在这里插入图片描述
Spring MVC 需要配置:
导入 spring-webmvc和 fastjson 的依赖包
在这里插入图片描述

springmvc中核心的配置 :org.springframework.web.servlet.DispatcherServlet

在这里插入图片描述
将路径映射成 / 所有路径都会被servlet路径拦截并处理

在这里插入图片描述
@ResponseBody 将返回的数据直接返回客户端
@GetMapping 映射路径

在这里插入图片描述
在 类上面加上@RestController下面的方法就不用在加@responseBody

*SpringMVC拦截器用于对控制器方法进行前置、后置处理
*拦截器的底层实现技术AOP(面向切面编程)
*拦截器必须实现HandlerInterceptor接口

拦截器会调用preHandle 方法、postHandle 方法、afterCompletion 方法

SpringMVC的执行流程:
1.从客户端发送一个请求,首先被servlet.DispatcherServlet(绑定根路径url)进行了拦截
2.springmvc 通过HandlerMapping 寻找映射,找到那个Controller要处理请求的任务。
3.找到Controller后,控制器不知道怎么处理这些请求,然后springmvc就通过 HandlerAdapter来处理请求和响应--------HttpMessageConverter可以通过解析请求,传参数,检测转换,请求相应
4.Controller会返回 ModelAndView会被DispatcherServlet接收到,DispatcherServlet选择视图解析器 ViewResolver(jsp、freemarker)
5.结合Model和视图模板生成HTML相应给网页。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值