苏州策划网站模板建站公司,优化大师的作用,0453牡丹江信息网手机极速版,保险网站定制AOP【面向切面编程】
作用#xff1a;在不惊动原始设计的基础上进行功能增强。
无侵入式编程 连接点#xff1a;程序执行的任意位置#xff0c;SpringAOP中#xff0c;理解为方法的执行。 切入点#xff1a;匹配连接点的式子,要追加功能的方法
通知#xff08;写在通…AOP【面向切面编程】
作用在不惊动原始设计的基础上进行功能增强。
无侵入式编程 连接点程序执行的任意位置SpringAOP中理解为方法的执行。 切入点匹配连接点的式子,要追加功能的方法
通知写在通知类中共性功能在切入点执行的操作。
SpringAOP中最终以方法的形式呈现 通知类定义通知的类 切面(Aspect)描述通知的共性功能和切入点的关系
步骤 代码实现步骤 1、导入相关坐标 2、定义dao接口与实现类 3、定义通知类 4、Pointcut注解定义切入点 5、Before等注解绑定切入点与通知关系 6、Component Aspect告诉程序通知类用来AOP 7、EnaleAspectJAutoProxy : 告诉程序注解开发AOP;开启功能
AOP工作流程
Spring容器启动读取所有切面配置中的切入点只读取已经配置了建立联系的切入电初始化bean,判断bean对应的类中的方法是否匹配到任意切点匹配失败创建对象匹配成功,创建目标对象的代理对象 代理模式实现获取bean执行方法 tips:AOP重写了toString
切入点表达式
可以使用通配符
AOP编码技巧
安装AOP标准规范开发描述切入点描述接口返回值对于增删改使用精确类型加速匹配查询类使用*通配快速匹配包名书写避免…匹配常用*做单个包描述匹配或精确匹配接口名/类名书写名称与模块相关的采用*匹配eg.UserService书写成*Service,绑定业务层接口方法名书写以动词进行精准匹配名词采用匹配。eg. getById书写成getBy, selectAll书写成selectAll不使用异常作为匹配规则
AOP通知类型
前置通知后置通知环绕通知返回后通知抛出异常后通知
环绕通知
Around 有返回值情形
AOP通知获取数据
获取参数获取返回值获取异常
Spring事务
事务管理员发起事务方在Spring中通常指代业务层开启事务的方法。事务协调员加入事务方在Spring中通常指代数据层方法也可以是业务层方法。
rollbackFor:设置事务回滚异常