欧美一区二区三区老妇人-欧美做爰猛烈大尺度电-99久久夜色精品国产亚洲a-亚洲福利视频一区二区

怎么在Spring中對(duì)事務(wù)管理進(jìn)行配置

今天就跟大家聊聊有關(guān)怎么在Spring中對(duì)事務(wù)管理進(jìn)行配置,可能很多人都不太了解,為了讓大家更加了解,小編給大家總結(jié)了以下內(nèi)容,希望大家根據(jù)這篇文章可以有所收獲。

站在用戶的角度思考問(wèn)題,與客戶深入溝通,找到烏蘭察布網(wǎng)站設(shè)計(jì)與烏蘭察布網(wǎng)站推廣的解決方案,憑借多年的經(jīng)驗(yàn),讓設(shè)計(jì)與互聯(lián)網(wǎng)技術(shù)結(jié)合,創(chuàng)造個(gè)性化、用戶體驗(yàn)好的作品,建站類型包括:網(wǎng)站制作、做網(wǎng)站、企業(yè)官網(wǎng)、英文網(wǎng)站、手機(jī)端網(wǎng)站、網(wǎng)站推廣、國(guó)際域名空間、網(wǎng)站空間、企業(yè)郵箱。業(yè)務(wù)覆蓋烏蘭察布地區(qū)。

在spring中我們需要做一些配置:主要有三點(diǎn):

  • @Transactional:在相應(yīng)的方法上加上這個(gè)注解

  • @EnableTransactionManagement:在配置類中加上,開啟事務(wù)管理

  • 需要在配置類中加入PlatformTransactionManager

PlatformTransactionManager接口定義了兩個(gè)方法commit和rollback

public interface PlatformTransactionManager {
  TransactionStatus getTransaction(TransactionDefinition var1) throws TransactionException;

  void commit(TransactionStatus var1) throws TransactionException;

  void rollback(TransactionStatus var1) throws TransactionException;
}

首先創(chuàng)建一個(gè)配置類:MainTxConfig

@EnableTransactionManagement //開啟事務(wù)管理
@ComponentScan("com.springTx") //掃描組件,這里掃描UserDao和UserService
@Configuration
public class MainTxConfig {

  /**
   * 配置數(shù)據(jù)源
   * @return
   * @throws Exception
   */
    @Bean
    public DataSource dataSorce() throws Exception {
      ComboPooledDataSource comboPooledDataSource = new ComboPooledDataSource();
      comboPooledDataSource.setUser("root");
      comboPooledDataSource.setPassword("123456");
      comboPooledDataSource.setDriverClass("com.MySQL.jdbc.Driver");
      comboPooledDataSource.setJdbcUrl("jdbc:mysql://localhost:3306/study");
      return comboPooledDataSource;
    }

    /**
     * jdbc模板操作數(shù)據(jù)庫(kù),這里需要獲取到數(shù)據(jù)源,dataSorce()是從容器中獲取已有的組件,而不是重新又創(chuàng)建一個(gè)數(shù)據(jù)源
     * @return
     * @throws Exception
     */
    @Bean
    public JdbcTemplate jdbcTemplate() throws Exception {
      return new JdbcTemplate(dataSorce());
    }

    @Bean
    public PlatformTransactionManager platformTransactionManager() throws Exception {
      return new DataSourceTransactionManager(dataSorce());
    }
}

UserService

@Service
public class UserService {

  @Autowired
  private UserDao userDao;

  @Transactional
  public void insertUser(){
    userDao.insert();
    int n = 1/0;
    System.out.println("插入成功");
  }
}

UserDao:

@Repository
public class UserDao {

  @Autowired
  private JdbcTemplate jdbcTemplate;

  public void insert(){
    String sql = "insert into user (name,age) value(?,?)";
    String name = UUID.randomUUID().toString().substring(1,7);
    jdbcTemplate.update(sql,name, 20);
  }
}

測(cè)試:

public class Txtest {
  @Test
  public void test(){
    //創(chuàng)建容器
    AnnotationConfigApplicationContext applicationContext = new AnnotationConfigApplicationContext(MainTxConfig.class);
    UserService userService = applicationContext.getBean(UserService.class);
    userService.insertUser();
    applicationContext.close();
  }
}

看完上述內(nèi)容,你們對(duì)怎么在Spring中對(duì)事務(wù)管理進(jìn)行配置有進(jìn)一步的了解嗎?如果還想了解更多知識(shí)或者相關(guān)內(nèi)容,請(qǐng)關(guān)注創(chuàng)新互聯(lián)行業(yè)資訊頻道,感謝大家的支持。

網(wǎng)站欄目:怎么在Spring中對(duì)事務(wù)管理進(jìn)行配置
網(wǎng)頁(yè)鏈接:http://www.chinadenli.net/article6/iiieog.html

成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供品牌網(wǎng)站建設(shè)ChatGPT軟件開發(fā)App開發(fā)自適應(yīng)網(wǎng)站移動(dòng)網(wǎng)站建設(shè)

廣告

聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請(qǐng)盡快告知,我們將會(huì)在第一時(shí)間刪除。文章觀點(diǎn)不代表本網(wǎng)站立場(chǎng),如需處理請(qǐng)聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時(shí)需注明來(lái)源: 創(chuàng)新互聯(lián)

成都app開發(fā)公司