Spring AOP 事务 SpringMVC REST风格

AOP:面向切面编程,一种编程思想。

Spring AOP 事务 SpringMVC REST风格_第1张图片

作用:在不惊动原始的程序中对功能进行增强。

原有的程序叫做切入点,进行功能加强的方法叫做通知,他们之间通过切面绑定起来。
 

实现AOP:

Spring AOP 事务 SpringMVC REST风格_第2张图片

@EnableAspectJAutoProxy   :表示使用了注解开发AOP,写在Spring的config中。

 @Aspect  :表示此处是AOP开发

@Pointcut(切入点表达式):定义AOP的切入点

@Before:将切入点和通知绑定,在通知前执行。

@around:将切入点和通知绑定,在通知前和通知后执行

AOP的核心思想:使用代理模式来操作。

Spring AOP 事务 SpringMVC REST风格_第3张图片AOP切入点表达式的书写:

切入点表达式的标准格式:execution (访问修饰符 返回值 包名.类/接口名/方法名(参数)异常名),

表达式中可以用通配符*和..来描述,*表示单个独立任意符号,..表示多个连续的任意符号。

Spring 事务:

事务:同时成功或者同时回滚。

spring提供了PlatformTransactionManager事务接口。

实现:

1.在要加事务的方法上加上注解@Transactional,也可以写在接口上。

2.在jdbc的配置类中定义一个事务管理器。

Spring AOP 事务 SpringMVC REST风格_第4张图片

3.在spring配置类中告诉spring使用注解的事务管理器

@Transactional():开启事务,此处括号中可以设置属性rollbackor = {遇到xx异常后回滚,此处的xx可以自己设置多个,以.class结尾}

Spring mvc

概述:Spring mvc和Servlet技术等同,均属于web层的开发,可以理解为servlet的升级版,是一个表现层(servlet层)开发技术,用来web开发的框架。

@Controller(类注解) :设定Springmvc的核心控制器bean,位置放在Springmvc的控制器定义上面

@RequestMapping("/调用的地址名称"):设置当前控制器方法请求访问路径,位置放在springmvc的控制器方法定义上方

@ResponseBody:当前操作的返回值类型

实现:

1.导入servlet和springmvc的坐标

Spring AOP 事务 SpringMVC REST风格_第5张图片

2.编写servlet和springmvc的配置类

Spring AOP 事务 SpringMVC REST风格_第6张图片

2.1 简化编写servlet和springmvc的配置类

Spring AOP 事务 SpringMVC REST风格_第7张图片

 3.编写controller控制器类

Springmvc的工作流程

Spring AOP 事务 SpringMVC REST风格_第8张图片

 Spring AOP 事务 SpringMVC REST风格_第9张图片

 补充:

@ComponentScan:扫描包,可以用{xx,xx}来设置扫描多个包 通过excludeFilters属性来设置排除扫描的包,通过includeFilters来设置要扫描的包

Springmvc乱码解决:

在配置类中:Spring AOP 事务 SpringMVC REST风格_第10张图片

@RequestParm:绑定请求参数和处理器方法形参之间的关系。

@EnableWebMvc:开启由json转化为对象的功能,

@RequestBody:绑定请求体和处理器方法形参之间的关系。

接受请求中的json数据:

Spring AOP 事务 SpringMVC REST风格_第11张图片

Spring AOP 事务 SpringMVC REST风格_第12张图片

 Spring AOP 事务 SpringMVC REST风格_第13张图片

Spring AOP 事务 SpringMVC REST风格_第14张图片

 postman中日期参数的传递:

@DateTimeFormat(pattern="日期的格式设置")

converter接口:类型转化器

数据响应:

使用@ResponseBody将java对象转为json格式的数据,设置当前控制器返回值为响应体

REST风格

一种资源访问风格

Spring AOP 事务 SpringMVC REST风格_第15张图片

实现:

在控制器中@RequestMapping中value的值统一,但是method属性选择不同的提交方式,比如post,put,get。

 Spring AOP 事务 SpringMVC REST风格_第16张图片

 

好处:把操作行为隐藏,更加的安全。

@PathVariable:形参注解,用来接受请求路径上的参数的,要求请求路径和方法的形参一致。

@RestController:相当于写了@Controller和@ResponseBody

@GetMapping、@PostMapping、@PutMapping等代表着对应的@RequestMapping

Spring AOP 事务 SpringMVC REST风格_第17张图片

 

你可能感兴趣的:(spring,java,mybatis)