首页 > 解决方案 > 当我尝试从依赖项中使用 getDatasource 时,为什么会得到?

问题描述

我有一个具有以下内容的依赖项 jar...

@Configuration
@PropertySource("classpath:datasource.properties")
public class DatasourceConfig {
    ...
    @Bean
    public DataSource getDatasource() {
        try {
            PoolDataSource ds = PoolDataSourceFactory.getPoolDataSource();
            ds.setConnectionFactoryClassName(OracleDataSource.class.getName());
            ...
            return ds;
        } catch (SQLException throwables) {
            logger.error(throwables);
            System.exit(-1);
        }
        return null;
    }
}

我使用 maven 导入这个 JAR,但是当我运行时java -cp 'JAR_LOCATION:ETC' pkg.Application我得到......

引起:org.springframework.beans.factory.NoSuchBeanDefinitionException:没有名为“entityManagerFactory”的bean可用

标签: springspring-bootspring-data-jpa

解决方案


您是否也在代码中的某处扫描包?如果没有尝试添加

@Configuration
@EnableWebMvc
@ComponentScan(basePackages="com.food.bar") <---
@PropertySource("classpath:datasource.properties")
public class DatasourceConfig {

推荐阅读