Springboot 2.x 配置注入數據源


@Configuration
@MapperScan(basePackages = {"com.spicel.service"},sqlSessionFactoryRef = "baseSqlSessionFactory")
public class DataSourceConfig {

    /**
     * 注入數據源
     * @return DataSource
     */
    @Bean(name = "baseDataSource")
    @ConfigurationProperties(prefix = "spring.datasource.data")
    public DataSource buildDataSource() {
        return DataSourceBuilder.create().build();
    }


    /**
     * 注入session工廠
     * @param dataSource dataSource
     * @return SqlSessionFactory
     * @throws Exception 異常
     */
    @Bean(name = "baseSqlSessionFactory")
    public SqlSessionFactory buildSqlSessionFactory(@Qualifier("baseDataSource") DataSource dataSource) throws Exception {
        SqlSessionFactoryBean sessionFactory = new SqlSessionFactoryBean();
        sessionFactory.setDataSource(dataSource);
        sessionFactory.setMapperLocations(new PathMatchingResourcePatternResolver().getResources("mapper/*.xml"));
        return sessionFactory.getObject();
    }


    /**
     * 注入事務管理器
     * @param dataSource dataSource
     * @return DataSourceTransactionManager
     */
    @Bean(name = "baseTransactionManager")
    public DataSourceTransactionManager buildTransactionManager(@Qualifier("baseDataSource") DataSource dataSource) {
        return new DataSourceTransactionManager(dataSource);
    }


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM