缘起:之前写了一篇xml的配置源码分析mybatis与spring的整合之MapperFactoryBean,本篇讲解注解式自动扫描的源码分析
java配置应用
启用注解@MapperScan
配置类
只需要这么一个配置类,就完成了MyBatis-Spring
的整合,具体看@MapperScan
注解
@Configuration
@ComponentScan("cn.yukang.javaConfig")// 扫描包
@PropertySource("classpath:datasource.properties")// 加载数据源配置信息
@MapperScan("cn.yukang.javaConfig.mapper")
public class MyConfig {
@Value("${jdbc.driverClassName}")
private String driverclassname;
@Value("${jdbc.url}")
private String url;
@Value("${jdbc.username}")
private String userName;
@Value("${jdbc.password}")
private String passWord;
@Bean
public BasicDataSource dataSource(){
BasicDataSource dataSource = new BasicDataSource();
dataSource.setDriverClassName(driverclassname);
dataSource.setUrl(url);
dataSource.setUsername(userName);
dataSource.setPassword(passWord);
return dataSource;
}
@Bean
public SqlSessionFactoryBean sqlSessionFactoryBean(DataSource dataSource) throws Exception {
SqlSessionFactoryBean sessionFactory = new SqlSessionFactoryBean();
sessionFactory.setDataSource(dataSource);
// 数据库与javaBean映射关系
//sessionFactory.setTypeAliasesPackage("cn.yukang.javaConfig.bean");
// 添加映射-使用接口+xml的形式(xml的命名空间为接口)
//sessionFactory.setMapperLocations(new PathMatchingResourcePatternResolver().getResources("classpath:mybatis/mapper.xml"));
return sessionFactory;
}
}
源码分析
@MapperScan
通过@Imp