java 框架

DAY06-Sping03

2020-04-30  本文已影响0人  建国同学

一、 AOP思想

作用:

把业务方法中与业务无关的操作抽离到不同的对象中,最后使用动态代理的方式组合起来,动态地为类增加功能。

AOP术语

Joinpoint:连接点,一般指需要被增强的方法。where:去哪里做增强。
Pointcut:切入点,哪些包中的哪些类中的哪些方法,可认为是连接点的集合。where:去哪些地方做增强。
Advice:增强,当拦截到 Joinpoint 之后,在方法执行的什么时机(when)做什么样(what)的增强。根据时机分为:前置增强、后置增强、异常增强、最终增强、环绕增强。
Aspect:切面,Pointcut + Advice,去哪些地方 + 在什么时候 + 做什么增强。
Target:被代理的目标对象。
Weaving:织入,把 Advice 加到 Target 上之后,创建出 Proxy 对象的过程。
Proxy:一个类被 AOP 织入增强后,产生的代理类。

二、 AOP 实现及Pointcut表达式

AOP思想由Spring AOP(能与 Spring 无缝整合)和 AspectJ 实现 ,AspectJ 是一个面向切面的框架

*  : 匹配任何部分,只能表示一个单词
.. :  可用于全限定名中和方法参数中,分别表示子包和 0 到 N 个参数

例子:
注意第一个星符号后面有空格。
execution(* cn.wolfcode.ssm.service.impl.*ServiceImpl.*(..))

三、使用XML配置AOP

添加依赖

pring-aop-5.0.8.RELEASE-sources

<dependency>
<groupId>org.aspectj</groupId>
<artifactId>aspectjweaver</artifactId>
<version>1.8.13</version>
</dependency>

XML文件添加AOP约束,编写配置

编写单元测试

变更使用CGLIB

在applicationContext.xml配置如下:


四、 注解配置AOP

变更使用CGLIB

在applicationContext.xml配置如下


五、 SSM集成

业务对象、Mapper对象等都交由Spring容器管理
Spring IoC 和DI来完成对象创建及其属性注入
再使用AOP来配置事务

添加依赖及插件

配置SessionSqlFactory

编写Mapper接口及对应Mapper XML文件



在配置SqlSessionFactory对象关联Mapper映射文件(可以不配置):


配置Mapper接口的代理对象

配置业务层对象


配置业务对象

编写单元测试

六、注解方式集成MyBatis

配置Mapper接口扫描器

使用注解方式配置业务对象

在业务类上贴IoC注解和DI注解


配置第三方解析程序

在applicationContext.xml中配置如下:


七、 Spring对事务支持

使用Spring管理事务的时候,针对不同的持久化技术选用不同的事务管理器:

Spring实现事务的方式:
编程式事务:通过编写代码来管理事务;
声明式事务:通过XML配置或注解来管理事务。

八、使用XML配置事务

九、 注解配置事务

为业务类贴注解

XML配置

Transactional注解使用

上一篇 下一篇

猜你喜欢

热点阅读