1. 程式人生 > >springBoot 新增定時器和事務

springBoot 新增定時器和事務

定時器使用

一、啟動類上添加註解

二、在配置檔案中加上規則( cron的表示式自行百度)

三、在service層中新增任務使用註解:

@Scheduled(cron = "${krystal.quarz.order.cron}")

事務使用:

一、pom.xml中新增依賴

<dependencies>

<dependency> <!--新增Web依賴 -->

    <groupId>org.springframework.boot</groupId>

    <artifactId>spring-boot-starter-web</artifactId>

</dependency>

<dependency> <!--新增Mybatis依賴 -->

     <groupId>org.mybatis.spring.boot</groupId>

     <artifactId>mybatis-spring-boot-starter</artifactId>

     <version>1.3.1</version>

</dependency>

<dependency><!--新增MySQL驅動依賴 -->

    <groupId>mysql</groupId>

    <artifactId>mysql-connector-java</artifactId>

    <scope>runtime</scope> </dependency>

<dependency><!--新增Test依賴 -->

    <groupId>org.springframework.boot</groupId>

    <artifactId>spring-boot-starter-test</artifactId>

  <scope>test</scope>

  </dependency>

</dependencies>

 

二、在啟動類上添加註解:

@EnableTransactionManagement //如果mybatis中service實現類中加入事務註解,需要此處新增該註解

 

三、實現:在service中使用

 

注意點:

 1.( @Scheduled 和@Transactional不能同時存在一個類裡面,會報錯,我遇到的,不知道為啥)

 2.Spring的預設的事務規則是遇到執行異常(RuntimeException)和程式錯誤(Error)才會回滾。如果想針對非檢測異常進行事務回滾,可以在@Transactional 註解裡使用,@Transactional(rollbackFor=Exception.class) 屬性明確指定異常。()