Must set property 'expression' before attempting to match


因为这个问题没有直接指向问题的地点, 所以找起来不是很容易. 

但是如果找不到, 这个错就会一直都存在. 

原因分析: 在使用切面编程的时候, 没有把切入点配置全面

解决方法: 在before, after, after-returning的注解后面都加上pointCut()方法

@Aspect @Component("tranManager") public class TransactionManager { @Autowired @Qualifier("session") private Session session = null; private Transaction transaction = null; @Pointcut("execution(* com.bj186.crm.service.impl.*.*(..))") public void pointCut() { } @Before("pointCut()") //这里添加切入点 public void begin() { transaction = session.beginTransaction(); } @AfterReturning("pointCut()") //这里也必须添加 public void commit() { transaction.commit(); } @AfterThrowing("pointCut()") //不添加切入点编译不会报错, 但是运行时会报错 public void rollback() { transaction.rollback(); } }

 


免责声明!

本站转载的文章为个人学习借鉴使用,本站对版权不负任何法律责任。如果侵犯了您的隐私权益,请联系本站邮箱yoyou2525@163.com删除。



 
粤ICP备18138465号  © 2018-2025 CODEPRJ.COM