Java 组件扫描代码气味?当运行单元测试时,我会在创建bean时出错,没有类型合格的bean,即使bean存在于Springbeans列表中

Java 组件扫描代码气味?当运行单元测试时,我会在创建bean时出错,没有类型合格的bean,即使bean存在于Springbeans列表中,java,spring,spring-boot,gradle,Java,Spring,Spring Boot,Gradle,我在config包中有一个config类,如下所示: package com.x.y.appName.config @ComponentScan(basePackageClasses = { Application.class }) @Configuration public class AppConfig { package com.x.y.appName.config; @Configuration public class SomeClass implements WebMvcCon

我在config包中有一个config类,如下所示:

package com.x.y.appName.config

@ComponentScan(basePackageClasses = { Application.class })
@Configuration
public class AppConfig {
package com.x.y.appName.config;

@Configuration
public class SomeClass implements WebMvcConfigurer {

@Autowired
AppConfig appConfig;
我的项目在使用AppConfigBean的SomeClass中构建失败,原因是:

Error creating bean with name 'someClass': Unsatisfied dependency 
expressed through field 'appConfig'; nested exception is 
org.springframework.beans.factory.NoSuchBeanDefinitionException: No 
qualifying bean of type
但是当我打印Spring知道的bean列表时,它会在那里列出appConfig

SomeClass也在配置包中,如下所示:

package com.x.y.appName.config

@ComponentScan(basePackageClasses = { Application.class })
@Configuration
public class AppConfig {
package com.x.y.appName.config;

@Configuration
public class SomeClass implements WebMvcConfigurer {

@Autowired
AppConfig appConfig;
但如果我将其添加到某个类中,它构建得很好,并且所有测试都通过了:

@ComponentScan("com.x.y.appName.config")
在过去,我从不需要组件扫描另一个bean也在其中声明的同一个包


再次澄清一下,我可以很好地启动应用程序,但这个spring错误是在构建或测试期间抛出的。我是否需要在单元测试中添加一些内容以上两个类我都没有单元测试,因为它们太轻浮了。那么会发生什么呢?我需要在某处注释其他单元测试吗?

与@Deadpool相关的东西不是真的…?应用程序类是用@Component?@AnishB注释的吗。否,其注释为“@springbootplication”。。。我以为这达到了“@Component”的功能,然后some@AnishB. 我写了很多spring应用程序,从来没有用“@Component”注释过主类。。。无论如何,这并没有解决或改变任何问题,我仍然需要在同一个包中扫描组件以使构建通过,这对我来说真的毫无意义