使用AOP在选择性方法之前调用常用操作

时间:2012-08-03 11:37:23

标签: java spring aop

我正在为解决方案做设计,但对某些要求的方法有疑问(在Spring java应用程序中)。

我的要求是在调用方法之前执行一个通用的过程(比如解析并持久保存到db)。问题是应用程序应该具有配置是否在特定操作之前调用此方法的功能。 (由于我们预计会经常更改,因此可以集中配置。)

我正在考虑使用AOP建议来为选择性方法调用此方法。

如果有更好的方法来解决这个问题,请告诉我。另请告诉我是否可以在AOP中以xml维护集中配置。

提前致谢。

1 个答案:

答案 0 :(得分:1)

是。使用AOP。

方面类中的方法可能如下所示

@Before("within(pkg1..*)")
public Object  something(ProceedingJoinPoint joinPoint) throws Throwable { 
{
    if(false){
        throw SomeException; // returns with exception; make sure to catch this
    } else {
        joinPoint.proceed(); // Proceeds to execute the method
    }

    joinPoint.proceed();
}