SSM项目学习
概念补充
AOP
AOP是面向切面编程,是一种编程的思想和技术,在AOP中,程序被分为不同的模块,每个模块处理不同的关注点。这些关注点可以横切多个模块,也就是说,它们不属于任何一个
自动注入
自动注入通常是接口,而不是具体的实体类。因为在面向接口编程的思想中,我们更加关注接口定义的行为和规范,而不是具体的实现细节
分页查询
querrywrapper
常用的几个注解
@Data
注在类上,提供类的get、set、equals、hashCode、canEqual、toString方法
@Setter、@Getter
注解在属性上,提供set、get方法
@Transactional
- 作用于类 , 表示所有该类的public方法都配置相同事务属性信息
- 作用于方法 , 当类配置了@Transactional,方法也配置了@Transactional,方法的事务会覆盖类的事务配置信息
- 作用于接口 , 不推荐这种使用方法,因为一旦标注在Interface上并且配置了Spring AOP使用CGLib动态代理,将会导致@Transactional注解失效
- 失效场景
- 应用在非public修饰的方法上
- @Transactional 注解属性 propagation 设置错误
- @Transactional 注解属性 rollbackFor 设置错误
- 同一个类中方法调用,导致@Transactional失效
@PathVariable
- 写法———前端请求参数写在路径上
事务
编程式事务
特点
- 写法
- 在代码中手动的管理事务的提交、回滚等操作,代码侵入性较强,但开发者可以通过API自己控制事务
- 操作
- 需要在代码中手动的管理事务的开启、提交、回滚等操作
声明式事务
声明式事务管理方法允许开发者配置的帮助下来管理事务,而不需要依赖底层API进行硬编码。开发者可以只使用注解或基于配置的 XML 来管理事务。
- 评价
- 优点:
节省很多代码,它会自动帮我们进行事务的开启、提交以及回滚操作 - 缺点:
最小粒度要作用在方法上
声明式事务容易被开发者忽略
- 优点:
- 应用场景:它能保证方法内多个数据库操作要么同时成功、要么同时失败
浙公网安备 33010602011771号