有如下切点:
@Before("@within(dataSource)")
public void changeDataSource(JoinPoint joinPoint, TargetDataSource dataSource) {
change(joinPoint, dataSource);
}
这样定义切点时,注解对象dataSource
可以正常注入;
但是当切点表达式匹配多个条件时:
@Before("@within(dataSource) || @annotation(dataSorce)")
public void changeDataSource(JoinPoint joinPoint, TargetDataSource dataSource) {
change(joinPoint, dataSource);
}
注解对象dataSource
就会为null
。
请问这个现象是什么原因呢? 有什么比较好的解决办法?
预谢!
如果注解是在方法上,可以得到,如果注解在类上则为null,把注解写到方法上。