spring AOP注解 原

2018-08-17 09:54:21 浏览数 (1)

由于程序现在要求支持多数据源,但是程序已经上线想要修改非常麻烦。于是想到用aop做个切面,执行前切换数据源。spring很多功能都支持xml和注解,这里直接使用注解,因为个人爱好吧。

首先是spring配置文件的命名空间里

代码语言:javascript复制
xmlns:aop="http://www.springframework.org/schema/aop"
schema声明:
http://www.springframework.org/schema/aop
http://www.springframework.org/schema/aop/spring-aop-2.0.xsd

然后配置里加上

代码语言:javascript复制
<aop:aspectj-autoproxy/>

代码很简单:

代码语言:javascript复制
package test.mine.spring.bean;

import org.aspectj.lang.annotation.AfterReturning;
import org.aspectj.lang.annotation.Aspect;
import org.aspectj.lang.annotation.Before;
import org.aspectj.lang.annotation.Pointcut;
@Aspect
public class AopTest {

    public AopTest (){
        
    }
    
    @Pointcut("execution(* *.test())")
    public void testpoint(){}
    
    @Before("testpoint()")
    public void before(){
        System.out.println("执行前!");
    }
    
    @AfterReturning("testpoint()")
    public void after(){
        System.out.println("执行后");
    }
    
}

    execution表达式的格式下面是我找的一个博客,讲的比较详细,我就不细说了表达式说明

0 人点赞