我不明白SpringBootApplication快捷方式的工作原理。具体来说,我不明白像@ComponentScan和@EnableAutoConfiguration这样的单个子注释如何传递到实际的应用程序类,就像它们是在那里明确写出一样。我搜索了Spring Boot的SpringBootApplication代码库,期望看到代码来寻找" SpringBootApplication"在应用这些单独的注释之前但没有看到任何字符串。有人可以解释一下吗?感谢。
答案 0 :(得分:3)
@SpringBootApplication
注释是一个注释,其中注释了您提到的注释@ComponentScan
和@EnableAutoConfiguration
等。 Spring不会扫描@SpringBootApplication
,而是在内部扫描这些(隐式)注释并相应地完成它的魔法。
答案 1 :(得分:0)
http://www.journaldev.com/7989/key-components-and-internals-of-spring-boot-framework
Spring Boot还减少了Annotation配置的定义。如果我们在类级别使用@SpringBootApplication批注,那么Spring Boot AutoConfigurator会自动将所有必需的批注添加到Java Class ByteCode。
==>实际上我找不到执行此操作的spring boot autoconfig中的代码。