在数据库的操作中事务的重要性相信大家都知道,能够保证数据的原子性,一致性,完整性等... 使用步骤相对蛮简单,下面就直接简要介绍 springBoot 中应用事务功能;
一,定义/配置数据源Bean并加入spring容器
如果使用默认的JDBC数据库连接池则只需要配置数据库的连接信息(当然相应的数据库依赖jar要引入pom.xml)即可;如果使用其它数据库连接池,如Druid,则需要定义或配置相应数据源,为后面方便使用,故@Bean("dataSource")指定名称,同时@Primary指定以此数据源为优先,如下代码:
package com.qyh.pro01.common;
import java.sql.SQLException;
import javax.sql.DataSource;
import org.apache.ibatis.session.SqlSessionFactory;
import org.mybatis.spring.SqlSessionFactoryBean;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
import org.springframework.beans.factory.ListableBeanFactory;
import org.springframework.beans.factory.ObjectProvider;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.beans.factory.annotation.Value;
import org.springframework.boot.autoconfigure.http.HttpMessageConverters;
import org.springframework.boot.autoconfigure.web.ResourceProperties;
import org.springframework.boot.autoconfigure.web.servlet.WebMvcAutoConfiguration;
import org.springframework.boot.autoconfigure.web.servlet.WebMvcAutoConfiguration.WebMvcAutoConfigurationAdapter;
import org.springframework.boot.autoconfigure.web.servlet.WebMvcProperties;
import org.springframework.context.annotation.Bean;
import org.springframework.context.annotation.Configuration;
import org.springframework.context.annotation.Primary;
import org.springframework.core.env.Environment;
import org.springframework.core.io.Resource;
import org.springframework.core.io.support.PathMatchingResourcePatternResolver;
import org.springframework.web.servlet.config.annotation.WebMvcConfigurerAdapter;
import com.alibaba.druid.pool.DruidDataSource;
/**
* 配置启用Druid连接池,定义
* @author shenzhenNBA
* @since 2018.06.28
*/
@Configuration //该注解类似于spring配置文件
public class MyDataSourceConfig extends WebMvcAutoConfiguration {
public MyDataSourceConfig() {
super();
}
private Logger logger = LoggerFactory.getLogger(MyDataSourceConfig.class);
@Autowired
private Environment env;
@Value("${spring.datasource.type}") //连接信息配置见application.properties
private String dbType;
@Value("${spring.datasource.url}")
private String dbUrl;
@Value("${spring.datasource.username}")
private String username;
@Value("${spring.datasource.password}")
private String password;
@Value("${spring.datasource.driverClassName}")
private String driverClassName;
@Value("${spring.da