Spring中怎么配置事務(wù)管理

這篇文章給大家介紹Spring中怎么配置事務(wù)管理,內(nèi)容非常詳細,感興趣的小伙伴們可以參考借鑒,希望對大家能有所幫助。

成都創(chuàng)新互聯(lián)是一家專注于成都做網(wǎng)站、成都網(wǎng)站制作與策劃設(shè)計,秀嶼網(wǎng)站建設(shè)哪家好?成都創(chuàng)新互聯(lián)做網(wǎng)站,專注于網(wǎng)站建設(shè)十余年,網(wǎng)設(shè)計領(lǐng)域的專業(yè)建站公司;建站業(yè)務(wù)涵蓋:秀嶼等地區(qū)。秀嶼做網(wǎng)站價格咨詢:13518219792

在springboot中,使用事務(wù)非常的簡單,因為springboot已經(jīng)幫我們配置好了,只需要加上注解@Transactional即可

在spring中我們需要做一些配置:主要有三點:

@Transactional:在相應(yīng)的方法上加上這個注解  @EnableTransactionManagement:在配置類中加上,開啟事務(wù)管理  需要在配置類中加入PlatformTransactionManager

PlatformTransactionManager接口定義了兩個方法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)建一個配置類:MainTxConfig

@EnableTransactionManagement //開啟事務(wù)管理@ComponentScan("com.springTx") //掃描組件,這里掃描UserDao和UserService@Configurationpublic 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ù)庫,這里需要獲取到數(shù)據(jù)源,dataSorce()是從容器中獲取已有的組件,而不是重新又創(chuàng)建一個數(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

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

UserDao:

@Repositorypublic 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);  }}

測試:

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();  }}

當(dāng)出現(xiàn)異常時,事務(wù)會進行回滾操作。

關(guān)于Spring中怎么配置事務(wù)管理就分享到這里了,希望以上內(nèi)容可以對大家有一定的幫助,可以學(xué)到更多知識。如果覺得文章不錯,可以把它分享出去讓更多的人看到。

分享文章:Spring中怎么配置事務(wù)管理
本文路徑:http://muchs.cn/article32/jpdisc.html

成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供商城網(wǎng)站、服務(wù)器托管、用戶體驗、營銷型網(wǎng)站建設(shè)、電子商務(wù)域名注冊

廣告

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

綿陽服務(wù)器托管