Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/340.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 正在引发NoSuchBeanDefinitionException_Java_Spring_Spring Boot - Fatal编程技术网

Java 正在引发NoSuchBeanDefinitionException

Java 正在引发NoSuchBeanDefinitionException,java,spring,spring-boot,Java,Spring,Spring Boot,因此,我尝试使用在另一个类中生成的bean来在主应用程序中使用 package com.simon.spring.basics.properties; 导入org.springframework.beans.factory.annotation.Qualifier; 导入org.springframework.beans.factory.annotation.Value; 导入org.springframework.stereotype.Component; @组成部分 公共类外部服务{ @值(

因此,我尝试使用在另一个类中生成的bean来在主应用程序中使用

package com.simon.spring.basics.properties;
导入org.springframework.beans.factory.annotation.Qualifier;
导入org.springframework.beans.factory.annotation.Value;
导入org.springframework.stereotype.Component;
@组成部分
公共类外部服务{
@值(${external.service.url}”)
私有字符串url;
公共字符串returnServiceURL(){
返回url;
}
}
主要应用程序如下:

包com.simon.spring.basics.springin5步骤;
导入com.simon.spring.basics.properties.SomeExternalService;
导入org.springframework.boot.SpringApplication;
导入org.springframework.boot.autoconfigure.springboot应用程序;
导入org.springframework.context.ApplicationContext;
导入org.springframework.context.annotation.ComponentScan;
导入org.springframework.context.annotation.Configuration;
导入org.springframework.context.annotation.PropertySource;
@配置
@SpringBoot应用程序
//@PropertySource(“类路径:application.properties”)
@组件扫描()
公共类Springin5步骤属性应用程序{
公共静态void main(字符串[]args){
应用上下文应用上下文=
run(SpringIn5StepsPropertiesApplication.class,args);
SomeExternalService=applicationContext.getBean(SomeExternalService.class);
系统输出打印LN(服务);
}
}
因此,线程“main”org.springframework.beans.factory.NoSuchBeanDefinitionException中基本上存在一个异常:没有抛出类型为“com.simon.spring.basics.properties.SomeExternalService”的合格bean。
如何修复此错误并避免以后出现相同的问题

springin5stepsproperties应用程序
放入包根目录中

package com.simon.spring.basics
同时删除不必要的
@ComponentScan()


@SpringBootApplication
将从主类的位置自动触发所有包下的组件扫描,即
com.simon.spring.basics
,因此可以在
com.simon.spring.basics.properties
中提取您的组件

否则,它将尝试在
com.simon.spring.basics.springin5steps
下查找bean,但找不到
SomeExternalService


如果移动主类不是一个选项,那么您可以添加另一个包,如

@SpringBootApplication(scanBasePackageClasses = {com.simon.spring.basics.properties.SomeExternalService.class})