今天就跟大家聊聊有關(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)