在代码
下制作自定义注释@Target(ElementType.METHOD)
@Retention(RetentionPolicy.RUNTIME)
public @interface SingleShard {
boolean isSingle() default true;
}
并在
中使用此注释public class AbstractDAO {
@Autowired
private SqlSessionTemplate sqlSession;
@SingleShard
protected void insert(String queryId, Object params) {
}
制作AOP String类并使用@After("@annotation(com.test.sample.annotaion.ClearShardSelect)")
@Aspect
public class ShardingAspect {
@After("@annotation(com.test.sample.annotaion.ClearShardSelect)")
public void testAfter() {
System.out.println("call After !");
}
}
@After("@annotaion
无法正常工作
使用时如@After("execution(* com.test.sample.dao.AbstractDAO+.*(..))")
如何将@annotaion用于受保护的方法?