SSM项目学习

概念补充

AOP

	AOP是面向切面编程,是一种编程的思想和技术,在AOP中,程序被分为不同的模块,每个模块处理不同的关注点。这些关注点可以横切多个模块,也就是说,它们不属于任何一个

自动注入

	自动注入通常是接口,而不是具体的实体类。因为在面向接口编程的思想中,我们更加关注接口定义的行为和规范,而不是具体的实现细节

分页查询

	querrywrapper

常用的几个注解

@Data

注在类上,提供类的get、set、equals、hashCode、canEqual、toString方法

@Setter、@Getter

注解在属性上,提供set、get方法

@Transactional

  1. 作用于类 , 表示所有该类的public方法都配置相同事务属性信息
  2. 作用于方法 , 当类配置了@Transactional,方法也配置了@Transactional,方法的事务会覆盖类的事务配置信息
  3. 作用于接口 , 不推荐这种使用方法,因为一旦标注在Interface上并且配置了Spring AOP使用CGLib动态代理,将会导致@Transactional注解失效
  4. 失效场景
  • 应用在非public修饰的方法上
  • @Transactional 注解属性 propagation 设置错误
  • @Transactional 注解属性 rollbackFor 设置错误
  • 同一个类中方法调用,导致@Transactional失效

@PathVariable

  • 写法———前端请求参数写在路径上

事务

编程式事务

特点

  • 写法
  1. 在代码中手动的管理事务的提交、回滚等操作,代码侵入性较强,但开发者可以通过API自己控制事务
  • 操作
  1. 需要在代码中手动的管理事务的开启、提交、回滚等操作

声明式事务

声明式事务管理方法允许开发者配置的帮助下来管理事务,而不需要依赖底层API进行硬编码。开发者可以只使用注解或基于配置的 XML 来管理事务。

  • 评价
    1. 优点:
      节省很多代码,它会自动帮我们进行事务的开启、提交以及回滚操作
    2. 缺点:
      最小粒度要作用在方法上
      声明式事务容易被开发者忽略
  • 应用场景:它能保证方法内多个数据库操作要么同时成功、要么同时失败
posted @ 2023-03-09 10:36  Wade1080  阅读(4)  评论(0)    收藏  举报