AspectJ的使用方法

最近在复习Spring框架的内容,记录一下之前我所用到的工具方法以及一些基本原理。

AspectJ是Spring aop编程的一个静态面向切面编程框架,该框架使用起来非常简单,相当于帮助你把Spring aop编程给封装好了,直接在maven那里导入然后配置一下属性即可轻松实现面向对象编程。

先上示例代码:

@Aspect
@Component
public class TransactionInterceptor {
    @Pointcut("execution(public * com.chat.controller..*.*(..))")
    public void pointcut(){

    }

    @Before("pointcut()")
    public void beginTransaction(){
        HibernateUtil.getCurrentSession().beginTransaction();
    }

    @After("pointcut()")
    public void commitTransaction(){
        HibernateUtil.getCurrentSession().getTransaction().commit();
    }

    @AfterThrowing(value = "pointcut()")
    private void rollbackTransaction(){
        System.out.println("rollback");
        HibernateUtil.getCurrentSession().getTransaction().rollback();
    }
}

这是我的工程里面的一些面向切面编程的代码,@Aspect是代表这个类应用了AspectJ,而@Component是代表交给了Spring去管理。

@Pointcut("execution(public * com.chat.controller..*.*(..))")

这个是声明一下代码是切入点,后面的意思是需要进行切入的类的位置,用了正则表达式来匹配。下面的方法是切入点,可以不管他。

@Before("pointcut()")

是在切入点前执行的代码。

@After("pointcut()")

是切入点后执行的代码。

@AfterThrowing(value = "pointcut()")

这个是抛出异常后进行异常处理的代码。一般而言以上几个就已经够用了,当然啦,还有其他的一些标签,这里就不一一列出了,可以自行谷歌。当然啦,这个是AspectJ最方便的配置方法,和java其他框架一样,还有xml配置法,这里就不一一展开了。

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值