当前位置: 首页 > 知识库问答 >
问题:

继续获取“启动ApplicationContext时出错。要显示条件报告,请在Spring Boot中启用“调试”重新运行应用程序”

严誉
2023-03-14

每当我开始一个spring boot项目时,我总是会遇到这个错误,这个问题已经在stakeoverflow上被问了多次,我已经尝试了所有的解决方案,但没有一个对我有效。我的第一个问题是这个错误的原因是什么,以及如何修复它。

过滤器应用程序。Java语言

package com.example.filter;

import org.springframework.boot.SpringApplication;
import org.springframework.boot.autoconfigure.SpringBootApplication;


@SpringBootApplication()
public class FilterApplication {

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

}

过滤器连接器。Java语言

package com.example.filter;

import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.web.bind.annotation.GetMapping;
import org.springframework.web.bind.annotation.RestController;

import java.util.List;

@RestController
public class FilterConnector {

    @Autowired
    private FilterService filterService;
    @GetMapping("/home")
    public List<Filter> home()
    {

        return this.filterService.getData();
    }
}

过滤器服务。Java语言

package com.example.filter;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
import java.util.List;

@Service
public class FilterService {
    @Autowired
    private FilterDao filterDao;

    public List<Filter> getData() {
        System.out.println("----------------------HERE-------------");
        return this.filterDao.findAll();
    }
}

FilterDao.java

package com.example.filter;
import org.springframework.data.jpa.repository.JpaRepository;
import org.springframework.stereotype.Repository;

@Repository
public interface FilterDao extends JpaRepository<Filter, Integer> {

}

共有1个答案

阙庆
2023-03-14

Spring框架依靠Application Context将依赖项注入依赖对象。例如,您的FilterRoad将被注入FilterService对象。

为此Spring将尝试在应用程序开始时初始化这些类的实例,但如果失败,您将看到此错误消息。

代码的问题与FilterDao类有关,Spring无法初始化此类的实例,因为它需要正确配置数据库。

要修复此错误,请执行以下操作:

  • 您需要检查您的数据库连接是否正确。
  • 确保有一个对应于Filter类的表。
  • 检查主键(ID)实际上是整数类型。

如果你提供完整的错误堆栈,我可以给你一个具体的解决方案。

注意:这些问题与FilterService或FilterConnector无关,因为您使用的是@Autowired注释,这意味着依赖项是可选的,它们将在bean初始化后注入。

 类似资料: