APPLICATION FAILED TO START

2019-02-28  本文已影响0人  li_zhi_yong

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);

  }

上一篇 下一篇

猜你喜欢

热点阅读