• 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();
        }
    }
  • 相关阅读:
    PipeCAD 1.0.5 is Released!
    PipeCAD 管道ISO图
    PipeCAD设备图元
    PipeCAD 1.0.6 is Released!
    PipeCAD 1.0.3 is Released!
    PipeCAD 1.0.2 is Released!
    OpenCASCADE 曲线向曲面投影
    OpenCASCADE 曲面展开
    GEE Landsat 7数据缝隙填充
    流程图gojs 简单使用
  • 原文地址:https://www.cnblogs.com/zjulanjian/p/10948754.html
Copyright © 2020-2023  润新知