2020年12月2日星期三

工作中的一些小总结2

继续总结

  1. VUE数据修改后,页面或者样式未生效
    主要是因为数据层次过深,没有触发render函数进行自动更新,需手动调用
    this.$forceUpdate();

  2. @Transactional 注解,当方法出现异常时未生效
    有几种情况会出现事务未生效的状况

    • 方法上使用了 @Transactional 注解,在方法中捕获了异常,没有抛出。例如方法B出现异常时,方法A依然会插入入库
      @Transactional
      public void insert(){
      try {
      TestPO testPO = new TestPO();
      testPO.setName("测试1");
      //方法A demoMapper.insert(testPO);
      //方法B testService.batchInsert();
      } catch (Exception e) {
      e.printStackTrace();
      }
      }

    • controller调用service层方法A时,方法A上未加@Transactional 注解,方法A调用了 加了@Transactional 注解的方法B
      controller层
      `public void insert(){
      service.methodA();

      }`

      service层
      public void methodA(){
      methodB();
      }

    @Transactional public void methodB(){ mapper.insert(); }

    这种情况注解也不会生效,原因主要是因为在SpringIoC容器中返回的对象是代理对象而不是真实的对象
    只有被动态代理的对象在调用时才会产生事务。
    这里的methodB()就等于this.methodB()调用的是真实的对象,不是Spring管理的代理对象。
    若还是想通过methodA() 调用 methodB() 可以使用
    public void methodA(){
    ((当前类名)AopContext.currentProxy()).methodB()
    }









原文转载:http://www.shaoqun.com/a/494663.html

c88是什么:https://www.ikjzd.com/w/1017.html

tiki:https://www.ikjzd.com/w/2053

麦言:https://www.ikjzd.com/w/1456


继续总结VUE数据修改后,页面或者样式未生效主要是因为数据层次过深,没有触发render函数进行自动更新,需手动调用this.$forceUpdate();@Transactional注解,当方法出现异常时未生效有几种情况会出现事务未生效的状况方法上使用了@Transactional注解,在方法中捕获了异常,没有抛出。例如方法B出现异常时,方法A依然会插入入库@Transactionalpubli
ideal:ideal
dmm杂志:dmm杂志
口述:老公出轨后我频繁给他戴绿帽子情感婚姻出轨:口述:老公出轨后我频繁给他戴绿帽子情感婚姻出轨
名校体验沦为"到此一游" 游学热背后存四大隐忧:名校体验沦为"到此一游" 游学热背后存四大隐忧
五一广州适合年轻人玩的?广州长隆五一情侣约会好去处?:五一广州适合年轻人玩的?广州长隆五一情侣约会好去处?

没有评论:

发表评论