AOP事务管理配置

本文详细介绍了Spring AOP的核心概念,包括连接点、切入点、通知、切面、目标对象、织入和引入。通过实际代码展示了如何使用AOP进行日志记录、事务管理和业务逻辑操作。Spring的AOP机制允许开发者在不修改原有代码的情况下,实现如日志、事务等横切关注点的处理,提高了代码的复用性和模块化。
摘要由CSDN通过智能技术生成

AOP概念:
1.Joinpoint(连接点)
    被拦截到的每个点,spring中指被拦截到的每一个方法,spring aop一个连接点即代表一个方法的执行。

2.Pointcut(切入点)
    对连接点进行拦截的定义(匹配规则定义规定拦截哪些方法,对哪些方法进行处理),spring 有专⻔的表达式语言定义。

3.Advice(通知)
    拦截到每一个连接点即(每一个方法)后所要做的操作
    前置通知(前置增强)— before() 执行方法前通知
    返回通知(返回增强)— afterReturn 方法正常结束返回后的通知
    异常抛出通知(异常抛出增强)— afetrThrow()
    最终通知 — after 无论方法是否发生异常,均会执行该通知。
    环绕通知 — around 包围一个连接点(join point)的通知,如方法调用。这是最强大的一种通知类型。环绕通知可以在方法调用前后完成自定义的行为。它也会选择是否继续执行连接点或直接返回它们自己的返回值或抛出异常来结束执行。
4.Aspect(切面)
    切入点与通知的结合,决定了切面的定义,切入点定义了要拦截哪些类的哪些方法,通知则定义了拦截过方法后要做什么,切面则是横切关注点的抽象,与类相似,类是对物体特征的抽象,切面则是横切关注点抽象。

5.Target(目标对象)
    被代理的目标对象

6.Weave(织入)
    将切面应用到目标对象并生成代理对象的这个过程即为织入

7.Introduction(引入)
    在不修改原有应用程序代码的情况下,在程序运行期为类动态添加方法或者字段的过程称为引入。

代码:

1.

public void writeLog(){
    System.out.println("业务逻辑日志的写入");
}

2.

public void beginTransaction(){
    System.out.println("事务开启");
}

public void commitTransaction(){
    System.out.println("提交事务");
}

3.speing.xml

<bean id="adminCheck" class="com.zll.dao.impl.AdminCheck"></bean>

<bean id="transactionInfo" class="com.zll.dao.impl.TransactionInfo"></bean>

<bean id="logInfo" class="com.zll.dao.impl.LogInfo"></bean>

<bean id="bankInfoDaoImpl" class="com.zll.dao.impl.BankInfoDaoImpl"></bean>

4.

public static void main(String[] args) {
    test1();
}
private static void test1(){
    ApplicationContext ac = new ClassPathXmlApplicationContext("spring.xml");
    BankInfoDao bd = ac.getBean("bankInfoDao",BankInfoDao.class);
    bd.drawMoney();
}
  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值