@Configuration
@MapperScan(basePackages = "com.isafety.project.master.dao", sqlSessionFactoryRef = "masterNewSqlSessionFactory")
public class MasterNewDataSourceConfig {
@Primary // 表示这个数据源是默认数据源, 这个注解必须要加,因为不加的话spring将分不清楚那个为主数据源(默认数据源)
@Bean(name = "masterNewDataSource")
@ConfigurationProperties(prefix = "spring.datasource.master")////读取application.yml中的配置参数映射成为一个对象
public DataSource dataSource() {
return DataSourceBuilder.create().build();
}
@Primary
@Bean(name = "masterNewSqlSessionFactory")
public MybatisSqlSessionFactoryBean basicSqlSessionFactory(@Qualifier("masterNewDataSource") DataSource basicDataSource) throws Exception {
MybatisSqlSessionFactoryBean factoryBean = new MybatisSqlSessionFactoryBean();
factoryBean.setDataSource(basicDataSource);
factoryBean.setTypeAliasesPackage("com.isafety.project.master.**.domain");
factoryBean.setVfs(SpringBootVFS.class);
factoryBean.setMapperLocations(new PathMatchingResourcePatternResolver().getResources("classpath:/mapper/master/*Mapper.xml"));
return factoryBean;
}
@Primary
@Bean(name = "masterNewSqlSessionTemplate")
public SqlSessionTemplate testSqlSessionTemplate(@Qualifier("masterNewSqlSessionFactory") SqlSessionFactory sqlSessionFactory) {
return new SqlSessionTemplate(sqlSessionFactory);
}
Application run failed
org.springframework.boot.context.properties.ConfigurationPropertiesBindException: Error creating bean with name 'masterNewDataSource': Could not bind properties to 'DataSource' : prefix=spring.datasource.master, ignoreInvalidFields=false, ignoreUnknownFields=true; nested exception is java.lang.IllegalStateException: org.springframework.boot.web.servlet.context.AnnotationConfigServletWebServerApplicationContext@38029349 has been closed already
我配置了两个数据源,启动的时候出现这个问题,请帮我分析一下这是什么问题