APPLICATION FAILED TO START
Description:
Field financeLeaseApplyImgUpLoadMapper in com.yqjr.car.commercial.service.ApplyImgSecondService required a bean of type 'com.yqjr.car.commercial.mapper.gffldev.FinanceLeaseApplyImgUpLoadMapper' that could not be found.
报错信息截图意思大致就是在ApplyImgSecondService中找不到需要的financeLeaseApplyImgUpLoadMapper 。上网查到的意思也是项目无法找到financeLeaseApplyImgUpLoadMapper这个类。我想到的解决办法。
1.先注释掉调用这个类的方法。发现还是报错
但是报错文件换啦
2.我在想这两个文件中的共同点
3.被我发现这个两个类都是新添加的数据源
解决办法:添加的数据源通过@ConfigurationProperties和@Bean等注释
添加文件:
1.@Configuration
public class DataSourceConfig {
@ConfigurationProperties(prefix ="spring.datasource.gfdev")
@Bean
public DataSourcegfdevDataSource() {
return DataSourceBuilder.create().type(HikariDataSource.class).build();
}
@ConfigurationProperties(prefix ="spring.datasource.fldev")
@Bean
public DataSourcefldevDataSource() {
return DataSourceBuilder.create().type(HikariDataSource.class).build();
}
@ConfigurationProperties(prefix ="spring.datasource.gffldev")
@Bean
public DataSourcegffldevDataSource() {
return DataSourceBuilder.create().type(HikariDataSource.class).build();
}
}
2.
@MapperScan(basePackages ="com.yqjr.car.commercial.mapper.gffldev", sqlSessionTemplateRef ="gffldevSqlSessionTemplate")
@Configuration
public class GfFldevMybatisConfig {
private static final LoggerLOGGER = LoggerFactory.getLogger(GfFldevMybatisConfig.class);
@Bean
public SqlSessionFactorygffldevSqlSessionFactory(@Qualifier("gffldevDataSource") DataSource dataSource) {
PathMatchingResourcePatternResolver pathMatchingResourcePatternResolver =new PathMatchingResourcePatternResolver();
Resource[] resources =new Resource[0];
try {
resources = pathMatchingResourcePatternResolver.getResources("classpath:mapper/gffldev/**/*.xml");
}catch (IOException e) {
LOGGER.info(e.getMessage(),e);
}
SqlSessionFactoryBean sqlSessionFactoryBean =new SqlSessionFactoryBean();
sqlSessionFactoryBean.setDataSource(dataSource);
sqlSessionFactoryBean.setMapperLocations(resources);
try {
return sqlSessionFactoryBean.getObject();
}catch (Exception e) {
LOGGER.info(e.getMessage(),e);
return null;
}
}
@Bean
public SqlSessionTemplategffldevSqlSessionTemplate(@Qualifier("gffldevSqlSessionFactory") SqlSessionFactory sqlSessionFactory) {
return new SqlSessionTemplate(sqlSessionFactory);
}