我不明白SpringBootApplication快捷方式是如何工作的。具体而言,我不明白像@ComponentScan和@EnableAutoConfiguration这样的单个子注释如何被传递到实际的应用程序类,就好像它们是在那里明确写的一样。我搜索SpringBootApplication的Spring Boot代码库,希望在应用这些单独的注释之前查看查找“SpringBootApplication”字符串的代码,但没有看到任何代码。有人可以解释这个吗?谢谢。@SpringBootApplication在Spring引导中如何实际工作?
回答
@SpringBootApplication
注释是注释,其中注释包括您提到的注释@ComponentScan
和@EnableAutoConfiguration
。 Spring不会扫描@SpringBootApplication
,而是在内部扫描这些(隐式)注释并相应地执行其魔法。
我明白了。你能指点我扫描这些隐式注释的代码吗?我很好奇。谢谢。 –
或有关于此的任何文档? –
http://www.journaldev.com/7989/key-components-and-internals-of-spring-boot-framework
而且还春启动减小定义注释配置。如果我们在类级别使用@SpringBootApplication批注,那么Spring Boot AutoConfigurator会自动将所有必需的批注添加到Java Class ByteCode。
==>实际上,我无法在spring boot autoconfig中找到这样的代码。
- 1. arguments.callee如何实际工作?
- 2. CompilationRelaxations.NoStringInterning如何实际工作?
- 3. volatile如何实际工作?
- 4. FBConnect如何实际工作?
- 5. JPA如何实际工作?
- 6. ReadAsMultipartAsync如何实际工作?
- 7. UpdatePanel如何实际工作?
- 8. 如何合并分支实际工作(在引擎盖下)?
- 9. python中的导入关键字如何实际工作?
- 10. IPython如何?操作员实际工作?
- 11. runloop实际上是如何工作的
- 12. rake db :: migrate如何实际工作
- 13. gZip和DEFLATE如何实际工作?
- 14. 如何获得RegistrationBuilder实际工作?
- 15. JPanel实际上如何工作?
- 16. Math.tan(x)如何实际工作? (Javascript)
- 17. .NET ExecutionContext如何实际工作?
- 18. applicationName属性如何实际工作?
- 19. CSS选择器如何实际工作?
- 20. git clone如何实际工作
- 21. WebResources.axd或ScriptResources.axd如何实际工作?
- 22. 如何绘制(_ rect:CGRect)实际工作?
- 23. 特质特化如何实际工作?
- 24. Eventbug实际上是如何工作的
- 25. JUnit TestCase功能如何实际工作?
- 26. 如何在Spring引导中配置HDIV
- 27. 引导加载程序在实际的计算机上无法正常工作
- 28. 正斜杠“/”在php中如何实际工作?
- 29. Session实际上是如何在MVC中工作的?
- 30. 数组在javascript中如何实际工作
参见http://stackoverflow.com/questions/18189980/how-do-annotations-work-internally/18202623#18202623 – chrylis
谢谢,Chrylis。我现在正在查找Spring中的代码,它实际上在注释顶部查找注释并执行处理。 –
您可能正在寻找各种注释后处理器。 – chrylis