我对Spring / Spring Boot完全不熟悉,所以我需要一些帮助。我没有注意到任何文档表明@SpringBootApplication
或@ComponentScan
必须位于特定位置:
工作文件夹结构
无效
答案 0 :(得分:2)
我认为你的Application
类是典型的Spring Boot应用程序,如下所示:
@SpringBootApplication
public class Application {
public static void main(String[] args) {
SpringApplication.run(Application.class, args);
}
}
SpringBootApplication
只是一个组合注释:
// Others
@Configuration
@EnableAutoConfiguration
@ComponentScan
public @interface SpringBootApplication { .. }
没有明确基础包的ComponentScan
将使用Application
类的包作为其扫描的基础包。因此,当您将此类放在根包中时,组件扫描程序将扫描根包中及其下的任何带注释的类,您的应用程序将成功运行。
但是,当您将Application
移动到app
包时,同一个组件扫描程序将无法扫描hello
包中的那些bean,而Spring将无法将某些bean连接在一起。< / p>
Spring Boot不需要任何特定的代码布局,但是,有一些最佳实践可以提供帮助。您可以在Spring Boot Documentation中了解这些最佳做法。