首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >spring上下文不加载

spring上下文不加载
EN

Stack Overflow用户
提问于 2019-09-08 16:08:44
回答 2查看 299关注 0票数 1

我试图加载上下文,但是我得到了UnsatisfiedDependencyException --我不知道原因是什么,服务中提供了注释和构造函数

DataJpaRepository:

代码语言:javascript
复制
@Transactional(readOnly = true)
public interface DataJpaRepository extends JpaRepository<Visit, Long> {

    @Override
    @Transactional
    Visit save(Visit visit);

    Visit findByGuestId(long guestId);

    @Query("SELECT DISTINCT v FROM Visit v WHERE  v.date BETWEEN :from AND :to")
    List<Visit> getBetween(@Param("from") Date from, @Param("to") Date to);
}


@Repository
public class VisitRepositoryImpl implements VisitRepository {

    @Autowired
    private DataJpaRepository dataJpaRepository;


    @Override
    public Visit get(long guestId) {
        return dataJpaRepository.findByGuestId(guestId);
    }

    @Override
    public Visit save(Visit visit) {
        return dataJpaRepository.save(visit);
    }

    @Override
    public List<Visit> getAll() {
        return dataJpaRepository.findAll();
    }

    @Override
    public List<Visit> getBetween(Date from, Date to) {
        Objects.requireNonNull(from, "fromDate must not be null");
        Objects.requireNonNull(to, "toDate must not be null");
        return dataJpaRepository.getBetween(from, to);
    }
}

VisitService:

代码语言:javascript
复制
@Service
public class VisitService {

    private VisitRepositoryImpl repository;

    @Autowired
    public VisitService(VisitRepositoryImpl repository) {
        this.repository = repository;
    }

    public Visit save(Visit visit) {
        return repository.save(visit);
    }

    public List<Visit> getAll() {
        return repository.getAll();
    }

    public List<Visit> getBetween(Date from, Date to) {
        Assert.notNull(from, "fromDate must not be null");
        Assert.notNull(to, "toDate  must not be null");
        return repository.getBetween(from, to);
    }
}

我感到异常的原因是:

org.springframework.beans.factory.UnsatisfiedDependencyException:错误创建D:\JAVA\library-project\target\classes\com\java\library\service\VisitService.class:文件中定义的名称为“visitService”的bean,通过构造函数参数0表示不满意的依赖关系;嵌套的异常是org.springframework.beans.factory.NoSuchBeanDefinitionException:,没有'com.java.library.repository.VisitRepositoryImpl‘类型的限定bean :预期至少有一个bean,它可以作为自动选择。依赖性注释:{}

主修班还包括:

代码语言:javascript
复制
@EnableJpaRepositories("com.java.library.repository")
@EntityScan("com.java.library.model")
@ComponentScan("com.java.library.service")
@SpringBootApplication
public class LibraryApplication {

    public static void main(String[] args) {
        SpringApplication.run(LibraryApplication.class, args);
    }

}

有什么问题吗?

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2019-09-08 17:23:50

尝试将存储库包添加到@ComponentScan配置中

代码语言:javascript
复制
@ComponentScan({"com.java.library.service", "com.java.library.repository"})
票数 4
EN

Stack Overflow用户

发布于 2019-09-08 16:25:35

尝试在VisitService类中添加@Autowired注释。

代码语言:javascript
复制
@Autowired
private VisitRepositoryImpl repository;
票数 -2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/57843581

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档