我想创建一个新的 Spring Boot Web 应用程序。
我的结构应该如下:
com.base.package
MyApplication
config
domain
repository
service
web
我可以走两条路:
- 使用注释 MyApplication
@SpringBootApplication
并让它找到控制器、JPA 存储库等。 - 使用
@EnableWebMvc
,@EnableJpaRepostories
以此类推,以@ComponentScan(basePackages=...)
明确指出不同组件类型的基本包。
我很乐意使用第一种方法,但担心启动应用程序需要更多时间(如果应用程序代码库显着增长),因为 Spring 会扫描所有内容而不是特定包。但无论如何,它至少应该读取所有这些文件以找到 bean。
所以问题是:
Spring(Boot)是否足够聪明,只扫描一次 bean 的所有子包,或者它会增加开销以使其保留默认配置?