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

找不到SpringBoot Bean类型

郭永怡
2023-03-14

我在Spring网站上跟踪这个SpringBoot演示,学习如何创建一个接受上传的文件。我收到一条错误消息

***************************
APPLICATION FAILED TO START
***************************

Description:

Parameter 0 of constructor in com.example.springdemouploadingfiles.FileUploadController required a bean of type 'com.example.springdemouploadingfiles.storage.StorageService' that could not be found.


Action:

Consider defining a bean of type 'com.example.springdemouploadingfiles.storage.StorageService' in your configuration.


Execution failed for task ':bootRun'.

Process 'command '/Applications/IntelliJ IDEA CE.app/Contents/jbr/Contents/Home/bin/java'' finished with non-zero exit value 1
  • 我试图通过向FileUploadController添加@bean注释来修复它。
  • 我已尝试将以下依赖项实现“org.springframework.boot:spring-boot-starter-data-jpa”runtimeOnly“com.h2database:h2”添加到build.gradle
  • 注意:我不想将数据库连接到此演示项目。这个演示确认它不是在这个演示中尝试连接数据库,而是在生产环境中尝试连接数据库。
  • 我尝试在Storage Service接口上方添加@Service注释。
  • 我尝试在StorageService接口上方添加@component
  • 我尝试在主应用程序类SpringDemouploadingFilesApplication.java上方添加@ComponentScan(“com.example.SpringDemouploadingFiles”)注释。

在任何情况下,我希望有一些帮助导航这个错误,以便我可以运行演示。下面是我的配置。

plugins {
    id 'org.springframework.boot' version '2.2.6.RELEASE'
    id 'io.spring.dependency-management' version '1.0.9.RELEASE'
    id 'java'
}

group = 'com.example'
version = '0.0.1-SNAPSHOT'
sourceCompatibility = '1.8'

repositories {
    mavenCentral()
}

dependencies {
    implementation 'org.springframework.boot:spring-boot-starter-thymeleaf'
    implementation 'org.springframework.boot:spring-boot-starter-web'
    implementation 'org.springframework.boot:spring-boot-starter-data-jpa'
    runtimeOnly 'com.h2database:h2'
    testImplementation('org.springframework.boot:spring-boot-starter-test') {
        exclude group: 'org.junit.vintage', module: 'junit-vintage-engine'
    }
}

test {
    useJUnitPlatform()
}
@Controller
public class FileUploadController {

    private final StorageService storageService;

    @Autowired
    public FileUploadController(StorageService storageService) {
        this.storageService = storageService;
    }

SpringDemouploadingFilesApplication.java

@SpringBootApplication
@EnableConfigurationProperties(StorageProperties.class)
public class SpringDemoUploadingFilesApplication {

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

    @Bean
    CommandLineRunner init(StorageService storageService) {
        return (args) -> {
            storageService.deleteAll();
            storageService.init();
        };
    }
}

存储服务接口

@Service
public interface StorageService {
// implements interface. 
}

共有1个答案

封瑞
2023-03-14

我自己也一直在用这个来敲击我的头,我觉得这个特别的教程只是有点...嗯。

它声称您可以从头开始按照步骤进行操作,就像从GitHub下载源代码一样到达相同的点。

与大多数Spring入门指南一样,您可以从头开始并完成每个步骤,也可以绕过您已经熟悉的基本设置步骤。不管是哪种方式,最终都是工作代码。

 类似资料:
  • 问题内容: 我已经安装了两个jdk-jdk 1.5和jdk 1.8。我有以下Ant build.xml配置文件: 在安装jdk1.8之前,从Eclipse调用的Ant成功编译了所有源代码。但是现在,我有以下错误消息: 我的JAVA_HOME和JRE_HOME: 并在Eclipse JRE中将其设置为1.5。Java 1.8在安装过程中会设置一些配置吗? 问题答案: 已知低于1.9.0的Apache

  • 我已经安装了两个JDK--JDK1.5和JDK1.8。我有以下Ant build.xml配置文件: 在安装JDK1.8之前,从Eclipse调用的Ant成功地编译了所有源代码。但现在,我有以下错误消息: 我的JAVA_HOME和JRE_HOME: 并在Eclipse JRE中设置为1.5。Java 1.8在安装过程中是否设置了一些配置?

  • 问题内容: 我试图使用SpringJUnit4ClassRunner创建一个单元测试,但是每次执行测试时,它都说它无法使用mvn install找到SpringJUnit4ClassRunner。 这是我的代码 这是我的POM文件: 我正在使用适合IDE的springSource工具开发此spring mvc应用程序,并且在IDE上将SpringJUnit4ClassRunner突出显示为错误,尽

  • 问题内容: 我正在尝试使用Jersey框架构建RESTFul客户端,因此添加了以下类: 但是,即使我在WEB-INF / lib和应用程序类路径下有以下jar,我也找不到未找到的错误类ClientBuilder: 所以有人可以告诉我我在这里想念的那个罐子吗?在哪里可以找到它?我搜索了Web,发现唯一具有ClientBuilder的jar与RESTEasy框架有关,所以我认为这没有关系。 谢谢你的时

  • 问题内容: 我一直在尝试在脚本中打开Word文档,但收到相同的错误。 我的代码: 我试图更改和删除部分中的分号。 仍然出现相同的错误。 我在Mac和基于Linux的虚拟主机上使用的。 问题答案: 从PHP 5.4.5开始,COM和DOTNET不再内置在php内核中。您必须在php.ini中添加COM支持: 否则,您将在错误日志中看到此消息:致命错误:未找到类“ COM” 该扩展包含在Windows

  • 问题内容: 我在Magento应用程序的页面上发现错误;当我访问它时,它总是显示此消息错误: 致命错误:在第95行的/home/…/lib/Zend/Feed/Abstract.php中找不到类’DOMDocument’ 你能给我解决办法吗?我正在使用magento 1.4.1.1。 问题答案: 您需要安装DOM扩展。您可以使用以下命令在Debian / Ubuntu上执行此操作: 在Centos

  • 问题内容: JPype是一个了不起的项目,因为我允许直接从实例化一个。 不幸的是,我陷入了第一步。 我有源代码( ): 使用以下命令将其编译为类: 因此,A.class位于 文件夹中。 我有以下源代码: 运行它时,出现以下错误: 由于找不到A类,可能是与CLASSPATH相关的问题,但是我无法意识到我做错了什么。 有什么线索吗? 编辑1: 问题仍然存在。但是,只是增加了我的问题,如果我使用本机Ja

  • 问题内容: 我正在尝试将Spring与Hibernate结合使用。View使用JSTL。当我在浏览器中打开页面时,我看到错误: 这是我与pom.xml的依赖关系的一部分,与此相关: 哪里有问题?我正在使用tomcat版本6。 问题答案: 问题出在web.xml中的servlet版本错误。我已经做到2.5了,所有的作品。