spring采用配置类配置事务
时间: 2023-07-28 07:19:06 浏览: 47
Spring采用Java Config方式配置事务也是一种常见的方式,相比XML配置更加简洁和直观。在使用Java Config方式配置事务时,我们需要创建一个配置类并使用@Transactional注解声明事务。
下面是一个使用Java Config方式配置事务的示例:
```
@Configuration
@EnableTransactionManagement
public class AppConfig {
@Autowired
private DataSource dataSource;
@Bean
public PlatformTransactionManager transactionManager() {
return new DataSourceTransactionManager(dataSource);
}
@Bean
public UserService userService() {
return new UserServiceImpl();
}
}
```
在这个配置类中,我们首先使用@EnableTransactionManagement注解开启事务管理功能,然后创建了一个PlatformTransactionManager对象并配置了数据源。最后,我们创建了一个UserService对象,并将其注入到其他的Bean中使用。
在UserService中使用@Transactional注解声明事务:
```
@Service
public class UserServiceImpl implements UserService {
@Autowired
private UserDao userDao;
@Override
@Transactional
public void saveUser(User user) {
userDao.saveUser(user);
}
@Override
public User getUserById(int id) {
return userDao.getUserById(id);
}
}
```
在上面的代码中,我们将@Transactional注解添加到saveUser方法上,表示这个方法需要进行事务管理。Spring会自动将这个方法封装成一个事务,并在方法执行前开启事务,在方法执行后提交或回滚事务。
使用Java Config方式配置事务相比XML配置更加简单、灵活,同时也能够提高代码的可读性和可维护性。