Java 如何使用注释bean和ComponentScan正确地创建bean-Spring?

Java 如何使用注释bean和ComponentScan正确地创建bean-Spring?,java,spring,spring-boot,Java,Spring,Spring Boot,主要内容: 测试等级: @SpringBootApplication @ComponentScan(basePackageClasses = Application.class) public class Application { public static void main(String[] args) { SpringApplication.run(Application.class, args); } } 当我尝试自动连线时,我得到了一个例外: public c

主要内容:

测试等级:

@SpringBootApplication
@ComponentScan(basePackageClasses = Application.class)
public class Application {

  public static void main(String[] args) {
      SpringApplication.run(Application.class, args);
  }
}
当我尝试自动连线时,我得到了一个例外:

public class Test {

  @Bean
  public Test test(){
      return new Test();
  }
}

有件事我做错了,但我找不出来。

您可以创建一个新配置,比如说
SpringConfiguration

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

Description:

Field test in TestWithAutowire required a bean of type 'Test' that could not be found.


Action:

Consider defining a bean of type 'rcms.backend.exception.Test' in your configuration.


Process finished with exit code 1
在您的
应用程序
类中,您可以添加
@ComponentScan
注释以及希望Spring扫描类的基本包

package my.pkg.config;

@Configuration
public class SpringConfiguration {
    @Bean
    public Test test(){
        return new Test();
    }
}
现在,您可以在任何弹簧组件中自动连线
测试
。比如说,

@SpringBootApplication
@ComponentScan(basePackageClasses = {"my.pkg.config", "my.pkg.example"})
public class Application {

  public static void main(String[] args) {
      SpringApplication.run(Application.class, args);
  }
}
package my.pkg.example;

@Component
public class TestExample {

    @Autowired
    private Test tst;

}