SpringBoot——configuration

在Spring4之前,是通过xml配置文件配置的,十分麻烦
从Spring4开始,推荐使用java Config的方式,使用Annoation来进行配置。

举例:mybatis在SpringBoot项目中的配置

@Configuration
public class MybatisConfiguration   {
    //加载datasource配置文件
    @Bean
    @ConfigurationProperties(prefix="spring.datasource")
    @Qualifier("dataSourceMybatis")
    public DataSource dataSourceMybatis() {
        return new DataSource();
    }

    //加载SqlSessionFactory
    @Bean(name = "sqlSessionFactory")
    public SqlSessionFactory sqlSessionFactoryBean() throws Exception {
        SqlSessionFactoryBean sqlSessionFactoryBean = new SqlSessionFactoryBean();
        sqlSessionFactoryBean.setDataSource(dataSourceMybatis());
        PathMatchingResourcePatternResolver resolver = new PathMatchingResourcePatternResolver();
        sqlSessionFactoryBean.setConfigLocation(resolver.getResource("classpath:mybatis-config.xml"));
        // 配置mybatis的扫描,找到所有的*mybatis.xml映射文件
        sqlSessionFactoryBean.setMapperLocations(resolver.getResources("classpath:mybatis/*/*.xml"));
        return sqlSessionFactoryBean.getObject();
    }

    //mybabtis分頁組件
    @Bean
    public PageHelper pageHelper() {
        //分页插件
        PageHelper pageHelper = new PageHelper();
        Properties props = new Properties();
        props.setProperty("reasonable", "true");
        props.setProperty("supportMethodsArguments", "true");
        props.setProperty("returnPageInfo", "check");
        props.setProperty("params", "count=countSql");
        props.setProperty("dialect", "mysql");
        pageHelper.setProperties(props);
        return pageHelper;
    }

    //配置事务
//    @Bean(name = "txTransactionManager",value = "txTransactionManager")
//    public PlatformTransactionManager txTransactionManager(@Qualifier("dataSourceMybatis")javax.sql.DataSource dataSource) {
//        return new DataSourceTransactionManager(dataSource);
//    }
}
@Configuration
//注意,由于MapperScannerConfigurer执行的比较早,所以必须有下面的注解
@AutoConfigureAfter(MybatisConfiguration.class)
public class MybatisConfigurationScanner {
    @Bean
    public MapperScannerConfigurer mapperScannerConfigurer() {
        MapperScannerConfigurer mapperScannerConfigurer = new MapperScannerConfigurer();     
           mapperScannerConfigurer.setSqlSessionFactoryBeanName("sqlSessionFactory");
        mapperScannerConfigurer.setBasePackage("com.bizdata.*.repository");
        return mapperScannerConfigurer;
    }

    @Bean(name = "transactionManager",value = "transactionManager")
    public JpaTransactionManager transactionManager(DataSource dataSource) {
        JpaTransactionManager manager= new JpaTransactionManager();
        manager.setDataSource(dataSource);
        return manager;
    }
}

@Configuration用来配置java Config,@ AutoConfigureAfter来调整加载【配置类】的顺序。MybatisConfiguration 最好在MybatisConfigurationScanner 之前加载。

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值